Ошибка получения токена доступа сетевой город

Пользователи системы «Сетевой город. Образование» (СГО) с радостью восприняли запуск мобильного приложения. Для тех же, кто знаком с NetSchool только понаслышке, предлагаем краткий обзор основных модулей системы.

Продукт разработан и оттестирован в 2011 году в г. Самаре. Основываясь на экспертном заключении, Минкомсвязи РФ рекомендует муниципалитетам страны активно использовать автоматизированную информационную систему (АИС). Ее уже внедрили разные регионы (Волгоградская область, Екатеринбург, др.), школы которых обеспечены компьютерной техникой, и нет проблем с подключением к Интернет.

Основные цели разработчиков: обеспечить открытый доступ родителей и общественности к процессу образования, расширить возможности родителей по контролю за ребенком, упростить отчетность. СГО предоставляет информацию о текущих оценках, итоговой аттестации и ее результатах, об изучаемых предметах, программах, планах.

Учителям не придется тратить время на заполнение бумажных документов. На основе электронного классного журнала АИС автоматически формирует отчеты для мониторинга процесса. Предоставляя текущие показатели, конструктор отчетов позволяет прогнозировать успеваемость на конец учебного года. Информация, полученная в Алтайском крае, будет актуальна и в других регионах. 

Все участники процесса могут эффективно взаимодействовать через доску объявлений, портфолио, внутренней е-майл, форумы, смс-сервисы.

Что реально дает система ученикам и родителям? Ответ частично содержится в объявлениях, появляющихся в школах РФ: «Уважаемые родители! У нас действует электронный журнал. Чтобы получить доступ к дневникам, ученики и родители могут написать заявление и получить у классного руководителя логин, пароль для входа в систему».

Подключившись к системе, родители будут в курсе всех школьных дел. В модуле «Объявления» располагается важная информация; поддерживается интерактивное общение с администрацией и преподавателями; на Форуме возможен разговор между учеником, родителями и учителем в реальном времени.

Ученики имеют возможность пользоваться интерактивными обучающими материалами. Их количество и качество не зависит от города. «Учебные курсы» помогут в изучении любого предмета ребятам в Челябинске, Коми, Находке, Чувашии. Школьник может свободно общаться как с одноклассниками, так и с учениками из разных городов.

Школы, подключенные к АИС «Сетевой город», кроме общественной работы и контроля учебного процесса оказывают гражданам Госуслуги, такие как ведение учета и зачисление в образовательные учреждения (в том числе, дошкольные); предоставление различной информации. 

Программное обеспечение реализовано в базовой части: «Управление», «Общеобразовательная организация». По договору школам поставляются дополнительные модули по дошкольному, дополнительному, профессиональному образованию, школьному питанию.

Организации дистанционно работают в общей базе данных на едином сервере. Доступ к информации определяет администратор СГО.

I was trying to solved this problem almost a week now. When the time I want to get the access token. I always get this kind of error.

Fatal error: Uncaught exception 'OAuthException2' 
with message 'Unexpected result from the server "http://localhost/oauth/mworell/public/access_token.php" (401) while requesting a request token' 
in C:xampphtdocsoauthmworellincludelibraryOAuthRequester.php:258 

Stack trace: 
#0 C:xampphtdocsoauthmworellpublictestoauth_test.php(46): OAuthRequester::requestAccessToken('361b407baf67bff...', '9e082a9c3e9e4b2...', 11, 'POST', Array) 
#1 {main} thrown in C:xampphtdocsoauthmworellincludelibraryOAuthRequester.php on line 258

It is really hard for me to find this solution. I find this tutorial
https://code.google.com/p/oauth-php/wiki/ServerHowTo, but no luck. I’m getting that kind of error when the time I requested access token from server. Here’s the other tutorial
http://www.sitepoint.com/creating-a-php-oauth-server/, the same result I get.

Thanks in advance for your help.

here are the codes

oauth-test.php

<?php

require_once '../../include/library/OAuthServer.php';
require_once '../../include/library/OAuthStore.php';
require_once '../../include/library/OAuthRequest.php';
require_once '../../include/library/OAuthRequester.php';
require_once '../../include/library/OAuthSession.php';

define('OAUTH_HOST', 'http://' . $_SERVER['SERVER_NAME'].'/oauth/mworell/public');
$id = 11;
//$store  = OAuthStore::instance();

// Init the OAuthStore
$options = array(
    'consumer_key' => '361b407baf67bff89456a91ede9d0b10053cc75a3',
    'consumer_secret' => 'f11f5051bafbf824c7c1b7b86304a84b',
    'server_uri' => OAUTH_HOST,
    //'signature_methods' => array('RSA-SHA1', 'PLAINTEXT'),
    'request_token_uri' => OAUTH_HOST . '/request_token.php',
    'authorize_uri' => OAUTH_HOST . '/login.php',
    'access_token_uri' => OAUTH_HOST . '/access_token.php'
);

//$consumer_key = $store->updateServer($options, $id);

OAuthStore::instance('Session', $options);

if (empty($_GET['oauth_token'])) {
    // get a request token
    $tokenResultParams = OAuthRequester::requestRequestToken($options['consumer_key'], $id);

    header('Location: ' . $options['authorize_uri'] .
        '?oauth_token=' . $tokenResultParams['token'] . 
        '&oauth_callback=' . urlencode('http://' . $_SERVER['SERVER_NAME'] . $_SERVER['PHP_SELF']));
}
else {
    // get an access token
    $oauthToken = $_GET['oauth_token'];
    $tokenResultParams = $_GET;
    OAuthRequester::requestAccessToken($options['consumer_key'], $tokenResultParams['oauth_token'], $id, 'POST', $_GET);
    $request = new OAuthRequester(OAUTH_HOST . '/test_request.php', 'GET', $tokenResultParams);
    $result = $request->doRequest(0);
    if ($result['code'] == 200) {
        var_dump($result['body']);
    }
    else {
        echo 'Error';
    }
}

that code belongs in this site

http://www.sitepoint.com/creating-a-php-oauth-server/

I was trying to solved this problem almost a week now. When the time I want to get the access token. I always get this kind of error.

Fatal error: Uncaught exception 'OAuthException2' 
with message 'Unexpected result from the server "http://localhost/oauth/mworell/public/access_token.php" (401) while requesting a request token' 
in C:xampphtdocsoauthmworellincludelibraryOAuthRequester.php:258 

Stack trace: 
#0 C:xampphtdocsoauthmworellpublictestoauth_test.php(46): OAuthRequester::requestAccessToken('361b407baf67bff...', '9e082a9c3e9e4b2...', 11, 'POST', Array) 
#1 {main} thrown in C:xampphtdocsoauthmworellincludelibraryOAuthRequester.php on line 258

It is really hard for me to find this solution. I find this tutorial
https://code.google.com/p/oauth-php/wiki/ServerHowTo, but no luck. I’m getting that kind of error when the time I requested access token from server. Here’s the other tutorial
http://www.sitepoint.com/creating-a-php-oauth-server/, the same result I get.

Thanks in advance for your help.

here are the codes

oauth-test.php

<?php

require_once '../../include/library/OAuthServer.php';
require_once '../../include/library/OAuthStore.php';
require_once '../../include/library/OAuthRequest.php';
require_once '../../include/library/OAuthRequester.php';
require_once '../../include/library/OAuthSession.php';

define('OAUTH_HOST', 'http://' . $_SERVER['SERVER_NAME'].'/oauth/mworell/public');
$id = 11;
//$store  = OAuthStore::instance();

// Init the OAuthStore
$options = array(
    'consumer_key' => '361b407baf67bff89456a91ede9d0b10053cc75a3',
    'consumer_secret' => 'f11f5051bafbf824c7c1b7b86304a84b',
    'server_uri' => OAUTH_HOST,
    //'signature_methods' => array('RSA-SHA1', 'PLAINTEXT'),
    'request_token_uri' => OAUTH_HOST . '/request_token.php',
    'authorize_uri' => OAUTH_HOST . '/login.php',
    'access_token_uri' => OAUTH_HOST . '/access_token.php'
);

//$consumer_key = $store->updateServer($options, $id);

OAuthStore::instance('Session', $options);

if (empty($_GET['oauth_token'])) {
    // get a request token
    $tokenResultParams = OAuthRequester::requestRequestToken($options['consumer_key'], $id);

    header('Location: ' . $options['authorize_uri'] .
        '?oauth_token=' . $tokenResultParams['token'] . 
        '&oauth_callback=' . urlencode('http://' . $_SERVER['SERVER_NAME'] . $_SERVER['PHP_SELF']));
}
else {
    // get an access token
    $oauthToken = $_GET['oauth_token'];
    $tokenResultParams = $_GET;
    OAuthRequester::requestAccessToken($options['consumer_key'], $tokenResultParams['oauth_token'], $id, 'POST', $_GET);
    $request = new OAuthRequester(OAUTH_HOST . '/test_request.php', 'GET', $tokenResultParams);
    $result = $request->doRequest(0);
    if ($result['code'] == 200) {
        var_dump($result['body']);
    }
    else {
        echo 'Error';
    }
}

that code belongs in this site

http://www.sitepoint.com/creating-a-php-oauth-server/

Проблемы с получением токена доступа с помощью триггера и класса вершины. Я использую https://www.googleapis.com/auth/drive в качестве URL-адреса обратного вызова и конечной точки HTTP-запроса. Мой метод создания папки работает правильно, если предоставлен действительный токен доступа, но я не получаю токен доступа. Но я получаю сообщение об ошибке «HTTP-метод POST не поддерживается этим URL-адресом, StatusCode = 405».

Ниже мой код

public class GDriveFolderCreationClass {
private final String clientId ='3MVG98EE59.VIHmz7DO7_********************kb0NbJrDULh.q0CmS3TqSuItCtA6mxyxUaa_STYbpue';
private final String clientSecret = '8E70141F********************6307D13F5B72FD850ABA2C9A05124F3B7B9F';
private final String username = 'test@gmail.com';
public class deserializeResponse{
 public String access_token;
}
public String ReturnAccessToken (GDriveFolderCreationClass acount){
deserializeResponse resp1= new deserializeResponse();
String reqbody = 'client_id='+clientId+'&client_secret='+clientSecret+'&username='+username;
Http h = new Http();
HttpRequest req = new HttpRequest();
req.setBody(reqbody);
req.setMethod('POST');
req.setEndpoint('https://www.googleapis.com/auth/drive');
req.setHeader('Content-Type', 'application/json');
req.setHeader('Accept','application/json');
HttpResponse res = h.send(req);
if(res.getstatusCode() == 200 && res.getbody() != null){
    resp1 = (deserializeResponse)JSON.deserialize(res.getbody(),deserializeResponse.class);
}
return resp1.access_token;
}

@future(Callout=True)
public static void createFolderinDrive(String contentName){ 
GDriveFolderCreationClass account1 = new GDriveFolderCreationClass();
String accessToken;
accessToken = account1.ReturnAccessToken(account1);
createFolder();
}
//Working function for creating folder in google drive
public static void createFolder() {
HttpRequest req = new HttpRequest();
req.setMethod('POST');     
req.setEndpoint('https://www.googleapis.com/drive/v3/files');
req.setHeader('Authorization', 'Bearer '+accessToken);
req.setHeader('content-type', 'application/json');

String body = '{"name" : "'+'TestFolder'+'","mimeType" : "application/vnd.google-apps.folder"}';
req.setTimeout(60*1000);
req.setBody(body);

Http http = new Http();
HttpResponse res = http.send(req);
}
}

ConnectedAppSS Я также использовал поставщика AUTH и использовал URL-адрес обратного вызова в качестве URI перенаправления, но это также не сработало. Для этого я получаю ошибку ниже в журнале отладки ошибка ss Пожалуйста, помогите мне получить токен доступа для моей фиксированной учетной записи Google, чтобы создать структуру папок на моем диске Google. Дайте мне знать, если вам нужны другие подробности.

Спасибо и привет

2 ответа

Лучший ответ

Сначала получите токен обновления, используя авторизацию кода, а затем вы можете получить токен доступа, используя токен обновления.
Используйте https://accounts.google.com/o/oauth2/token ” в качестве конечной точки, чтобы снова и снова получать токен доступа с помощью токена обновления.


1

Darshana
11 Мар 2021 в 14:10


Offline

Lonika

 


#1
Оставлено
:

3 октября 2022 г. 8:32:22(UTC)

Lonika

Статус: Новичок

Группы: Участники

Зарегистрирован: 03.10.2022(UTC)
Сообщений: 6
Российская Федерация

Сказал(а) «Спасибо»: 3 раз

Сам сертификат работает, например, могу войти в сервис отправки электронной отчетности (это тоже сервис nalog.ru).
Но не могу войти в ЛК налогоплательщика юр.лица.

На стадии проверки «В хранилище сертификатов «Личные» установлен КСКПЭП, выданный юридическому лицу аккредитованным удостоверяющим центром, и успешно создана электронная подпись с использованием КСКПЭП юридического лица» среди доступных к выбору подписей выбираю необходимый сертификат и получаю ошибку «Не удается обнаружить токен или смарт-карту»

Версия КриптоПро 5.0.12266 КС1. При проверке в КриптоПро-Сертификаты захожу в папку «Сертификаты текущий пользователь», затем вкладка «Личное», вкладка «Реестр», вкладка «Сертификаты». Нахожу там сертификат своего ООО, выбираю его. Пути сертификации: Минкомсвязь России — Федеральная налоговая служба — мое ООО. Состояние сертификата: сертификат действителен. При тестировании контейнера закрытого ключа к КриптоПро ошибок не обнаружено. Ранее заходила с данным сертификатом в ЛК

В Диспетчере устройств мой рутокен лайт отображается в списке устройств для чтения смарт-карт

В Панели управления Рутокен на вкладке Настройки Количество считывателей Рутокен S стоит цифра 3.

Отредактировано пользователем 3 октября 2022 г. 8:37:11(UTC)
 | Причина: Не указана


Вверх

Offline

Андрей *

 


#2
Оставлено
:

3 октября 2022 г. 8:47:08(UTC)

Андрей *

Статус: Сотрудник

Группы: Участники

Зарегистрирован: 26.07.2011(UTC)
Сообщений: 11,736
Мужчина
Российская Федерация

Сказал «Спасибо»: 451 раз
Поблагодарили: 1838 раз в 1421 постах

Здравствуйте.

Через панель управления КриптоПро CSP
СервисПротестироватьпо сертификату
Попробуйте, есть ошибка?

(да, в сообщении указано, что контейнер успешно тестируется, но по сертификату может быть выдаст информацию, например, что он связан с другим контейнером)..
Попробуйте через Сервис Установить личный сертификат с опцией «найти контейнер автоматически»

Техническую поддержку оказываем тут
Наша база знаний


Вверх

WWW

thanks 1 пользователь поблагодарил Андрей * за этот пост.

Lonika

оставлено 03.10.2022(UTC)


Offline

Lonika

 


#3
Оставлено
:

3 октября 2022 г. 8:59:19(UTC)

Lonika

Статус: Новичок

Группы: Участники

Зарегистрирован: 03.10.2022(UTC)
Сообщений: 6
Российская Федерация

Сказал(а) «Спасибо»: 3 раз

Автор: Андрей * Перейти к цитате

Здравствуйте.

Через панель управления КриптоПро CSP
СервисПротестироватьпо сертификату
Попробуйте, есть ошибка?

(да, в сообщении указано, что контейнер успешно тестируется, но по сертификату может быть выдаст информацию, например, что он связан с другим контейнером)..
Попробуйте через Сервис Установить личный сертификат с опцией «найти контейнер автоматически»

Проверка завершена успешно ошибок не обнаружено
Контейнер закрытого ключа пользователя
Имя *здесь символы я удалила для этого сообщения
Уникальное имя *здесь символы я удалила для этого сообщения
FQCN *здесь символы я удалила для этого сообщения
Проверка целостности контейнера успешно
Ключ обмена доступен
длина ключа 512 бит
экспорт открытого ключа успешно
вычисление открытого ключа успешно
импорт открытого ключа успешно
подпись успешно
проверка успешно
создание ключа обмена успешно
экспорт ключа запрещен
алгоритм ГОСТ Р 34.10-2012 DH 256 бит
ГОСТ Р 34.10 256 бит, параметры обмена по умолчанию
ГОСТ Р 34.11-2012 256 бит
ГОСТ 28147-89, параметры шифрования ТК26 Z
сертификат в контейнере соответствует закрытому ключу

поставщик E=uc@nalog.ru, ОГРН=1047707030513, ИНН=007707329152, C=RU, S=77 Москва, L=г. Москва, STREET=»ул. Неглинная, д. 23″, OU=УЦ ЮЛ, O=Федеральная налоговая служба, CN=Федеральная налоговая служба
действителен с 5 октября 2021 г. 14:48:49
действителен по 5 января 2023 г. 14:58:49
ключ действителен с 5 октября 2021 г. 14:48:48
ключ действителен по 5 января 2023 г. 14:48:48
cрок действия закрытого ключа 5 января 2023 г. 14:48:48
использование ключа обмена разрешено до окончания срока действия закрытого ключа.
Ключ подписи отсутствует
Симметричный ключ отсутствует
Загрузка ключей успешно
Версия контейнера 2
Значение ControlKeyTimeValidity 1
Режим работы CSP библиотека
Расширения контейнера
некритическое Расширение контейнера КриптоПро CSP. Срок действия ключа обмена
действителен по 5 января 2023 г. 15:02:03

Данные самого сертификата (наименование, ИНН ЮЛ и т.п.) я тоже удалила для этого сообщения.

Во вкладке КриптоПро «Сервис» нажимаю «Установить личный сертификат» и в этой вкладке мне предлагается выбрать расположение сертификата. У меня нет никакой кнопки «найти контейнер автоматически». «Далее» нажать не получается пока не выбрано расположение.

Отредактировано пользователем 3 октября 2022 г. 9:00:43(UTC)
 | Причина: Не указана


Вверх

Offline

Андрей *

 


#4
Оставлено
:

3 октября 2022 г. 9:09:19(UTC)

Андрей *

Статус: Сотрудник

Группы: Участники

Зарегистрирован: 26.07.2011(UTC)
Сообщений: 11,736
Мужчина
Российская Федерация

Сказал «Спасибо»: 451 раз
Поблагодарили: 1838 раз в 1421 постах

В сообщении не вижу строчки, что сертификат установлен в личное хранилище, установите сертификат из самого контейнера или из файла.

Вы можете открыть сертификат в консоли управления и на вкладке Состав есть кнопка для выгрузки в файл, далее установить через КриптоПро CSP

Техническую поддержку оказываем тут
Наша база знаний


Вверх

WWW

thanks 1 пользователь поблагодарил Андрей * за этот пост.

Lonika

оставлено 03.10.2022(UTC)


Offline

Lonika

 


#5
Оставлено
:

3 октября 2022 г. 9:19:00(UTC)

Lonika

Статус: Новичок

Группы: Участники

Зарегистрирован: 03.10.2022(UTC)
Сообщений: 6
Российская Федерация

Сказал(а) «Спасибо»: 3 раз

Автор: Андрей * Перейти к цитате

В сообщении не вижу строчки, что сертификат установлен в личное хранилище, установите сертификат из самого контейнера или из файла.

Вы можете открыть сертификат в консоли управления и на вкладке Состав есть кнопка для выгрузки в файл, далее установить через КриптоПро CSP

Я не могу выгрузить в файл закрытый ключ! Это сертификат, выданный УЦ ФНС, его нельзя ведь выгрузить в файл. Кнопка «Да, экспортировать закрытый ключ» неактивна, я не могу ее нажать.
В Консоли управления сертификатами у меня две папки: Сертификаты текущий пользователь и Сертификаты локальный компьютер. Захожу в папку Сертификаты текущий пользователь, выбираю папку Личное, затем папку Реестр. В списке есть сертификат этого ООО. Разве это не означает, что он установлен в личное хранилище? И опять же вопрос разве он работал бы в других сервисах ФНС (например, подала электронной отчетности, подача документов на госрегистрацию), если бы он не был установлен в хранилище личные? Получается не работает только вход в ЛК налогоплательщика


Вверх

Offline

Андрей *

 


#6
Оставлено
:

3 октября 2022 г. 13:07:25(UTC)

Андрей *

Статус: Сотрудник

Группы: Участники

Зарегистрирован: 26.07.2011(UTC)
Сообщений: 11,736
Мужчина
Российская Федерация

Сказал «Спасибо»: 451 раз
Поблагодарили: 1838 раз в 1421 постах

Автор: Lonika Перейти к цитате

Автор: Андрей * Перейти к цитате

В сообщении не вижу строчки, что сертификат установлен в личное хранилище, установите сертификат из самого контейнера или из файла.

Вы можете открыть сертификат в консоли управления и на вкладке Состав есть кнопка для выгрузки в файл, далее установить через КриптоПро CSP

Я не могу выгрузить в файл закрытый ключ! Это сертификат, выданный УЦ ФНС, его нельзя ведь выгрузить в файл. Кнопка «Да, экспортировать закрытый ключ» неактивна, я не могу ее нажать.
В Консоли управления сертификатами у меня две папки: Сертификаты текущий пользователь и Сертификаты локальный компьютер. Захожу в папку Сертификаты текущий пользователь, выбираю папку Личное, затем папку Реестр. В списке есть сертификат этого ООО. Разве это не означает, что он установлен в личное хранилище? И опять же вопрос разве он работал бы в других сервисах ФНС (например, подала электронной отчетности, подача документов на госрегистрацию), если бы он не был установлен в хранилище личные? Получается не работает только вход в ЛК налогоплательщика

В моем сообщении не было ничего про закрытый ключ. Всё что нужно, это посмотреть, есть ли связь сертификата с контейнером. Это можно проверить утилитами или указав сертификат (файл.cer), найти контейнер и установить связь. То, что где то работает, не означает, что используется доступ через сертификат. К примеру, плагин, может работать и с хранилищем и с контейнерами (читать оттуда сертификат), а в личном может отсутствовать ссылка.

Можете посмотреть, есть ли ссылка на закрытый ключ при просмотре сертификата через Личные в реестре?

Техническую поддержку оказываем тут
Наша база знаний


Вверх

WWW

thanks 1 пользователь поблагодарил Андрей * за этот пост.

Lonika

оставлено 04.10.2022(UTC)


Offline

Андрей *

 


#7
Оставлено
:

3 октября 2022 г. 13:08:18(UTC)

Андрей *

Статус: Сотрудник

Группы: Участники

Зарегистрирован: 26.07.2011(UTC)
Сообщений: 11,736
Мужчина
Российская Федерация

Сказал «Спасибо»: 451 раз
Поблагодарили: 1838 раз в 1421 постах

Как пример выше, Вы выбрали сертификат или выбрали контейнер через Обзор, при тестировании?

Техническую поддержку оказываем тут
Наша база знаний


Вверх

WWW


Offline

Lonika

 


#8
Оставлено
:

4 октября 2022 г. 6:57:33(UTC)

Lonika

Статус: Новичок

Группы: Участники

Зарегистрирован: 03.10.2022(UTC)
Сообщений: 6
Российская Федерация

Сказал(а) «Спасибо»: 3 раз

Автор: Андрей * Перейти к цитате

В моем сообщении не было ничего про закрытый ключ. Всё что нужно, это посмотреть, есть ли связь сертификата с контейнером. Это можно проверить утилитами или указав сертификат (файл.cer), найти контейнер и установить связь. То, что где то работает, не означает, что используется доступ через сертификат. К примеру, плагин, может работать и с хранилищем и с контейнерами (читать оттуда сертификат), а в личном может отсутствовать ссылка.

Можете посмотреть, есть ли ссылка на закрытый ключ при просмотре сертификата через Личные в реестре?

К сожалению, я тогда не понимаю, что мне нужно сделать.
В «Личное»-«Реестр»-«Сертификаты» есть этот сертификат. Если дважды кликнуть по нему, то открывается окошко с общими сведениями о сертификате. Внизу написан срок действия. А также указано «Есть закрытый ключ для этого сертификата». Что значит «ссылка на закрытый ключ» — это она и есть? Ссылки как таковой нет, только вот такая надпись и ключик слева от нее. В этом же окне есть вкладка Состав и вкладка Путь сертификации. В Пути сертификации уже ранее писала вроде все как надо: Минкомсвязь — ФНС — мое ООО. Внизу написано «сертификат действительный»


Вверх

Offline

Lonika

 


#9
Оставлено
:

4 октября 2022 г. 7:05:51(UTC)

Lonika

Статус: Новичок

Группы: Участники

Зарегистрирован: 03.10.2022(UTC)
Сообщений: 6
Российская Федерация

Сказал(а) «Спасибо»: 3 раз

Автор: Андрей * Перейти к цитате

Как пример выше, Вы выбрали сертификат или выбрали контейнер через Обзор, при тестировании?

Я провела две проверки и результат одинаковый. Первая: Сервис-Протестировать-Обзор и выбрала нужный считыватель Рутокен Лайт. Вторая: Сервис-Протестировать-По сертификату и выбрала нужный сертификат.
В обеих случаях ошибок не обнаружено, сертификат соответствует закрытому ключу, везде все успешно, сертификат в хранилище My. Единственное, что ключ подписи и симметричный ключ отсутствуют, но я выше писала, что так и было. Я не знаю, что это значит.


Вверх

Offline

barbos

 


#10
Оставлено
:

12 октября 2022 г. 14:01:15(UTC)

barbos

Статус: Новичок

Группы: Участники

Зарегистрирован: 12.10.2022(UTC)
Сообщений: 2

Аналогичная проблема, все что выше просили. все сделала. Связь есть. все работает, но при попытке входа в ЛК Налоговой на последнем шаге: Не удается обнаружить токен
или смарт-карту

Отредактировано пользователем 12 октября 2022 г. 14:04:07(UTC)
 | Причина: Не указана


Вверх
Пользователи, просматривающие эту тему

Guest (3)

Быстрый переход
 

Вы не можете создавать новые темы в этом форуме.

Вы не можете отвечать в этом форуме.

Вы не можете удалять Ваши сообщения в этом форуме.

Вы не можете редактировать Ваши сообщения в этом форуме.

Вы не можете создавать опросы в этом форуме.

Вы не можете голосовать в этом форуме.

Меня случайно прослушивает следующее сообщение об ошибке:
Это происходит, когда библиотека php пытается получить маркер доступа линия 112.

Иногда мой код получает токен доступа с первой попытки, иногда мне нужно несколько раз обновить URL-адрес, содержащий «код», в качестве параметра получения, прежде чем будет получен токен доступа.

Эта ошибка появляется часто в течение последних 3-4 дней.

Fatal error: 
Uncaught exception 'apiAuthException' with message 'Error fetching OAuth2 access token, message: 
'<HTML> <HEAD> <TITLE>Error processing OAuth 2 request</TITLE> </HEAD> 
<BODY BGCOLOR="#FFFFFF" TEXT="#000000"> 
<H1>Error processing OAuth 2 request</H1> 
<H2>Error 500</H2> 
</BODY> </HTML> 
'' in /google-api-php-client-0.5.0/google-api-php-client/src/auth/apiOAuth2.php:105
 Stack trace: #0 /google-api-php-client-0.5.0/google-api-php-client/src/apiClient.php(138): apiOAuth2->authenticate(Array) 
#1 l.php(191): apiClient->authenticate() 
#2 l.php(99): googoauthinit(true) 
#3 {main} thrown in /google-api-php-client-0.5.0/google-api-php-client/src/auth/apiOAuth2.php on line 105

Код, который я использую, взят непосредственно из здесь (ТОЧНО такой же код со всеми правильно заполненными параметрами, такими как имя приложения, секретный ключ, идентификатор и т. д.). Кроме того, пытался зарегистрировать новое приложение, но получил ту же ошибку.

Проблемы с получением токена доступа с помощью триггера и класса вершины. Я использую https://www.googleapis.com/auth/drive в качестве URL-адреса обратного вызова и конечной точки HTTP-запроса. Мой метод создания папки работает правильно, если предоставлен действительный токен доступа, но я не получаю токен доступа. Но я получаю сообщение об ошибке «HTTP-метод POST не поддерживается этим URL-адресом, StatusCode = 405».

Ниже мой код

public class GDriveFolderCreationClass {
private final String clientId ='3MVG98EE59.VIHmz7DO7_********************kb0NbJrDULh.q0CmS3TqSuItCtA6mxyxUaa_STYbpue';
private final String clientSecret = '8E70141F********************6307D13F5B72FD850ABA2C9A05124F3B7B9F';
private final String username = 'test@gmail.com';
public class deserializeResponse{
 public String access_token;
}
public String ReturnAccessToken (GDriveFolderCreationClass acount){
deserializeResponse resp1= new deserializeResponse();
String reqbody = 'client_id='+clientId+'&client_secret='+clientSecret+'&username='+username;
Http h = new Http();
HttpRequest req = new HttpRequest();
req.setBody(reqbody);
req.setMethod('POST');
req.setEndpoint('https://www.googleapis.com/auth/drive');
req.setHeader('Content-Type', 'application/json');
req.setHeader('Accept','application/json');
HttpResponse res = h.send(req);
if(res.getstatusCode() == 200 && res.getbody() != null){
    resp1 = (deserializeResponse)JSON.deserialize(res.getbody(),deserializeResponse.class);
}
return resp1.access_token;
}

@future(Callout=True)
public static void createFolderinDrive(String contentName){ 
GDriveFolderCreationClass account1 = new GDriveFolderCreationClass();
String accessToken;
accessToken = account1.ReturnAccessToken(account1);
createFolder();
}
//Working function for creating folder in google drive
public static void createFolder() {
HttpRequest req = new HttpRequest();
req.setMethod('POST');     
req.setEndpoint('https://www.googleapis.com/drive/v3/files');
req.setHeader('Authorization', 'Bearer '+accessToken);
req.setHeader('content-type', 'application/json');

String body = '{"name" : "'+'TestFolder'+'","mimeType" : "application/vnd.google-apps.folder"}';
req.setTimeout(60*1000);
req.setBody(body);

Http http = new Http();
HttpResponse res = http.send(req);
}
}

ConnectedAppSS Я также использовал поставщика AUTH и использовал URL-адрес обратного вызова в качестве URI перенаправления, но это также не сработало. Для этого я получаю ошибку ниже в журнале отладки ошибка ss Пожалуйста, помогите мне получить токен доступа для моей фиксированной учетной записи Google, чтобы создать структуру папок на моем диске Google. Дайте мне знать, если вам нужны другие подробности.

Спасибо и привет

2 ответа

Лучший ответ

Сначала получите токен обновления, используя авторизацию кода, а затем вы можете получить токен доступа, используя токен обновления.
Используйте https://accounts.google.com/o/oauth2/token ” в качестве конечной точки, чтобы снова и снова получать токен доступа с помощью токена обновления.


1

Darshana
11 Мар 2021 в 14:10

Пользователи системы «Сетевой город. Образование» (СГО) с радостью восприняли запуск мобильного приложения. Для тех же, кто знаком с NetSchool только понаслышке, предлагаем краткий обзор основных модулей системы.

Продукт разработан и оттестирован в 2011 году в г. Самаре. Основываясь на экспертном заключении, Минкомсвязи РФ рекомендует муниципалитетам страны активно использовать автоматизированную информационную систему (АИС). Ее уже внедрили разные регионы (Волгоградская область, Екатеринбург, др.), школы которых обеспечены компьютерной техникой, и нет проблем с подключением к Интернет.

Основные цели разработчиков: обеспечить открытый доступ родителей и общественности к процессу образования, расширить возможности родителей по контролю за ребенком, упростить отчетность. СГО предоставляет информацию о текущих оценках, итоговой аттестации и ее результатах, об изучаемых предметах, программах, планах.

Учителям не придется тратить время на заполнение бумажных документов. На основе электронного классного журнала АИС автоматически формирует отчеты для мониторинга процесса. Предоставляя текущие показатели, конструктор отчетов позволяет прогнозировать успеваемость на конец учебного года. Информация, полученная в Алтайском крае, будет актуальна и в других регионах. 

Все участники процесса могут эффективно взаимодействовать через доску объявлений, портфолио, внутренней е-майл, форумы, смс-сервисы.

Что реально дает система ученикам и родителям? Ответ частично содержится в объявлениях, появляющихся в школах РФ: «Уважаемые родители! У нас действует электронный журнал. Чтобы получить доступ к дневникам, ученики и родители могут написать заявление и получить у классного руководителя логин, пароль для входа в систему».

Подключившись к системе, родители будут в курсе всех школьных дел. В модуле «Объявления» располагается важная информация; поддерживается интерактивное общение с администрацией и преподавателями; на Форуме возможен разговор между учеником, родителями и учителем в реальном времени.

Ученики имеют возможность пользоваться интерактивными обучающими материалами. Их количество и качество не зависит от города. «Учебные курсы» помогут в изучении любого предмета ребятам в Челябинске, Коми, Находке, Чувашии. Школьник может свободно общаться как с одноклассниками, так и с учениками из разных городов.

Школы, подключенные к АИС «Сетевой город», кроме общественной работы и контроля учебного процесса оказывают гражданам Госуслуги, такие как ведение учета и зачисление в образовательные учреждения (в том числе, дошкольные); предоставление различной информации. 

Программное обеспечение реализовано в базовой части: «Управление», «Общеобразовательная организация». По договору школам поставляются дополнительные модули по дошкольному, дополнительному, профессиональному образованию, школьному питанию.

Организации дистанционно работают в общей базе данных на едином сервере. Доступ к информации определяет администратор СГО.

После выполнения метода /V3/Authenticate?type=certificate получаю зашифрованный ответ и согласно API мне необходимо его расшифровать тем же сертификатом , затем преобразовать в Base64 и полученную строку использовать в качестве ddauth_token при авторизации для любых последующих действий.

Попытка
Соединение = Новый HTTPСоединение(«https://diadoc-api.kontur.ru»,,,,,,Новый ЗащищенноеСоединениеOpenSSL(),Ложь);
Исключение
Сообщить(«Не удалось установить соединение с сервером онлайн-проверки:»
+ Символы.ПС + ИнформацияОбОшибке().Описание, СтатусСообщения.Важное);
Возврат;
КонецПопытки;

            //Тело POST-запроса
            имяФайлаСертификата = "d:/xxxxxxxxxxxxxxxxxxxx/yyyyyyyyyy.cer";
            
            ВремКаталог = "c:Users...AppDataLocalTemp66ac670b-f9b9-11ea-9441-00155d27324d";
            ИмяФайлаВыходЗапросаВыгрузкиДок = ВремКаталог + "UploadDocResult83.txt";

            ТекстЗапросаФайл = Новый ТекстовыйДокумент;
            ТекстЗапросаФайл.Прочитать(имяФайлаСертификата, "windows-1251");
            ТелоPOSTЗапроса = ТекстЗапросаФайл.ПолучитьТекст();
            
            ФайлСертификата = Новый ДвоичныеДанные(имяФайлаСертификата);
            СодержимоеФайла = XMLСтрока(ФайлСертификата);

            Заголовки = Новый Соответствие();    
            Заголовки.Вставить("Authorization", "DiadocAuth ddauth_api_client_id=test-diadoc-api-ххххххххххххххххххххххххххх");
            Заголовки.Вставить("Content-Type", "application/octet-stream"); //
            Заголовки.Вставить("Content-Length", Формат(СтрДлина(СодержимоеФайла),"ЧЦ=; ЧГ=")); //
            
            HTTPЗапрос = Новый HTTPЗапрос("/V3/Authenticate?type=certificate", Заголовки);
            HTTPЗапрос.УстановитьТелоИзСтроки(СодержимоеФайла, "windows-1251", ИспользованиеByteOrderMark.НеИспользовать);
            
            Результат  = Соединение.ОтправитьДляОбработки(HTTPЗапрос, ИмяФайлаВыходЗапросаВыгрузкиДок );
            

            МенеджерКриптографии  = НОвый МенеджерКриптографии("Crypto-Pro GOST R 34.10-2012 Cryptographic Service Provider", "", 80);
            МенеджерКриптографии.ПарольДоступаКЗакрытомуКлючу = "1";
            ФайлТокенаДляРасшифровки = Новый ДвоичныеДанные(ИмяФайлаВыходЗапросаВыгрузкиДок);
            ТокенРасшифрован = МенеджерКриптографии.Расшифровать(ИмяФайлаВыходЗапросаВыгрузкиДок);
            Сообщить("ТокенРасшифрован: " + ТокенРасшифрован);
            Токен = УбратьСимволы1013(ПолучитьBase64СтрокуИзДвоичныхДанных(ТокенРасшифрован)); 
            Сообщить("Токен: " + Токен);
            ЗаголовокHTTP = Новый Соответствие();
            ЗаголовокHTTP.Вставить("Authorization", "DiadocAuth ddauth_api_client_id=test-diadoc-api-xxxxxxxxxxxxxxxxxxxxxxxx, ddauth_token=" + Токен);

            ИмяФайлВыходАутентификация = ВремКаталог + "" + "AuthResult83.txt";

            HTTPЗапрос = Новый HTTPЗапрос("/GetMyOrganizations?autoRegister=false", ЗаголовокHTTP);
            Результат  = Соединение.Получить(HTTPЗапрос,ИмяФайлВыходАутентификация);
            
            Сообщить("Код состояния " + Результат.КодСостояния + ".");

И ответы с промежуточными значениями после запроса /GetMyOrganizations?autoRegister=false:

ТокенРасшифрован: F2 A2 C1 A0 E4 9A 55 6C 3C 70 3F BD F0 E9 24 EA FE 96 5F 08 5B 33 BB C1 F6 06 5C 13 98 DA 99 68 4A AA 2A CE 6D C6 07 66 FC 40 31 BF F1 F8 C1 CC FC D7 FF 50 65 C6 B1 EC A0 C0 9A 96 1D 97 BF DE 9F A7 9D 63 84 C7 D4 09 66 97 F1 3A 3F BC 45 B8 28 A4 50 17 E2 AF 61 B5 F1 1A A9 9B C8 D4 58 49 F7 64 EF 50 9C FE 34 DB FD C3 F3 F2 35 FE 07 59 F7 E2 28 66 A8 95 6D 41 86 FC 8A E0 A4 62 89 70 3A 1E F6 94 D9 2F DF CE CB 6D 65 62 D9 C3 EC 34 6A 90 5E 25 ED BE 63 02 27 6E 2D D0 55 34 F0 19 04 5E 86 51 F1 4A 36 E7 DC 42 F2 C9 13 9B 3C 83 D5 7F 8F D3 57 A1 A5 4B C8 31 D6 D1 6B 7A A3 0B EB FE 06 E7 EC E6 D7 9D 59 1C BA 85 C9 FE BD 5B 6B C0 40 05 41 70 62 59 26 0A 0B F9 36 7D 37 5D 3E 96 80 0F F3 B6 CA ED 59 CA 1E 99 37 E0 68 93 BE EB 0D A6 FE F5 97 BB 77 58 CB 19 8D 28 80 73
Токен: 8qLBoOSaVWw8cD+98Okk6v6WXwhbM7vB9gZcE5jamWhKqirObcYHZvxAMb/x+MHM/Nf/UGXGseygwJqWHZe/3p+nnWOEx9QJZpfxOj+8RbgopFAX4q9htfEaqZvI1FhJ92TvUJz+NNv9w/PyNf4HWffiKGaolW1BhvyK4KRiiXA6HvaU2S/fzsttZWLZw+w0apBeJe2+YwInbi3QVTTwGQRehlHxSjbn3ELyyRObPIPVf4/TV6GlS8gx1tFreqML6/4G5+zm151ZHLqFyf69W2vAQAVBcGJZJgoL+TZ9N10+loAP87bK7VnKHpk34GiTvusNpv71l7t3WMsZjSiAcw==

Код состояния 401. Invalid auth token

Подскажите, в чем ошибка расшифровки/кодирования? Возможно я использую не те методы или где то не указываю нужные форматы…

Как посмотреть ошибки автосинхронизации

При настройке автосинхронизации для приложений на базе SAML могут возникать следующие ошибки:

  • Ошибки этапа настройки

  • Ошибки выполнения автосинхронизации

  • Ошибки на уровне ресурсов

Ниже описано, как их устранить.

Примечание. Если вам не удается устранить ошибку с помощью инструкций из этой статьи, обратитесь в службу поддержки.

Ошибки этапа настройки

Ошибка кода авторизации

Такая ошибка может появиться, если код авторизации не удалось заменить на токен обновления. Причиной может послужить неправильный код авторизации или длительный промежуток времени с момента авторизации до нажатия кнопки Сохранить изменения. Чтобы устранить эту ошибку, повторите авторизацию и сохраните изменения.

Сообщение об ошибке Решение
Не удалось сгенерировать токен авторизации. Повторите попытку и сохраните изменения.

Ошибка устаревшей страницы

Эта ошибка возникает, если страница браузера не обновлялась, в то время как настройки были изменены в другом окне браузера или другим пользователем. При этом появляются следующие сообщения:

Сообщение об ошибке Решение
Данные на странице устарели. Конфигурация синхронизации настроена. Чтобы переопределить существующие настройки, обновите страницу.
Данные на странице устарели. Конфигурация синхронизации отсутствует. Чтобы переопределить существующие настройки, обновите страницу.
Данные на странице устарели. Активировать ненастроенную конфигурацию синхронизации нельзя. Чтобы переопределить существующие настройки, обновите страницу.
Данные на странице устарели. Удалить ненастроенную конфигурацию синхронизации нельзя. Чтобы переопределить существующие настройки, обновите страницу.

Временная ошибка страницы

Временные ошибки обычно устраняются сами собой. Обновите страницу или повторите попытку немного позже. 

Сообщение об ошибке Решение
Не удалось загрузить настройки синхронизации.  Обновите страницу. 
Не удалось загрузить предварительные настройки синхронизации. Обновите страницу. 
Не удалось загрузить статус синхронизации. Обновите страницу.
Не удалось активировать синхронизацию. Повторите попытку.
Не удалось удалить настройки синхронизации. Повторите попытку.
Не удалось создать настройку синхронизации. Повторите попытку и сохраните изменения.
Не удалось обновить настройку синхронизации. Повторите попытку и сохраните изменения.
Не удалось загрузить настраиваемые атрибуты. Повторите попытку.
Не удалось обновить сопоставление атрибутов. Повторите попытку.
Не удалось обновить настройки группы для автосинхронизации. Повторите попытку.
Не удалось обновить конфигурацию отключения. Повторите попытку.
Конфигурация удалена, но запретить доступ клиента API не удалось.

При удалении конфигурации отменяются разрешения, которые позволяют приложению обращаться к вашим данным в сервисах Google.

Эту ошибку можно устранить вручную: нажмите Управлять доступом клиента API в разделе Безопасность.

Если вы планируете позже восстановить конфигурацию, ничего не делайте. 

Не удалось обновить настройки синхронизации. Обновите страницу. 
Ошибка аутентификации. Учетные данные для аутентификации (например, токен владельца) указаны неверно. Задайте правильные учетные данные.
Введенный вами URL конечной точки системы кросс-доменного управления учетными данными (SCIM) недействителен. URL конечной точки недействителен. Введите правильный URL.
Не удалось включить синхронизацию. Переведите ползунок Автосинхронизация в положение Активный
Не удалось удалить настройки синхронизации.
  1. Нажмите Автосинхронизация, чтобы открыть настройки.
  2. В разделе Удаление конфигурации нажмите Удалить
Не удалось загрузить атрибуты целевого поставщика услуг.
  1. Нажмите Автосинхронизация, чтобы открыть настройки.
  2. В разделе Сопоставление атрибутов нажмите Изменить.
  3. Внесите нужные изменения.
Не удалось загрузить набор атрибутов целевого ресурса. Проверьте URL конечной точки, указанный при настройке автосинхронизации, и повторите сопоставление атрибутов облачного каталога с атрибутами целевого приложения.

Ошибки выполнения автосинхронизации

Ошибки выполнения автосинхронизации возникают из-за проблем с доступом к API, авторизацией и конфигурацией.

Ошибки внутренних сервисов Google

Код ошибки Описание и решение
17003
17006
17008

Описание 

Не удалось пройти аутентификацию во внутренних сервисах Google.

Причина

Аннулированы разрешения у следующего идентификатора клиента синхронизации пользователей:

910835873219-es01p47a1ks618hgp59q26cnc6sv33r3.apps.googleusercontent.com

Решение 

Убедитесь, что у данного идентификатора есть разрешения на доступ к следующим областям:

https://www.googleapis.com/auth/admin.directory.user.readonly,
https://www.googleapis.com/auth/admin.directory.userschema.readonly,
https://www.googleapis.com/auth/admin.directory.group.member.readonly

В разделе Безопасность консоли администратора нажмите Управлять доступом клиента API и перейдите в раздел Расширенные настройки. Проверьте доступ идентификатора к указанным областям и при необходимости добавьте их.

17007

Описание

Не удалось предоставить доступ приложениям, которые поддерживают автосинхронизацию с делегированием прав на уровне домена.

Не удалось делегировать права на уровне домена сервису автосинхронизации. Без этих прав сервис автосинхронизации не сможет читать каталог Google.

Причины

Причина 1: аннулированы разрешения у идентификатора клиента синхронизации пользователей.

Решения

В разделе Безопасность консоли администратора нажмите Управлять доступом клиента API и перейдите в раздел Расширенные настройки. Добавьте идентификатор клиента и области действия:

Идентификатор клиента:
910835873219-es01p47a1ks618hgp59q26cnc6sv33r3.apps.googleusercontent.com

Области действия:

https://www.googleapis.com/auth/admin.directory.user.readonly,
https://www.googleapis.com/auth/admin.directory.userschema.readonly,
https://www.googleapis.com/auth/admin.directory.group.member.readonly

Вы также можете удалить приложение, с которым возникла проблема, а затем добавить его снова.

Причина 2: непредвиденные системные ошибки.

Решение

Как правило, эта проблема решается автоматически. Если она не решилась через несколько часов, добавьте идентификатор клиента и области действия или удалите и повторно добавьте приложение, как описано выше в инструкциях для причины 1.

Ошибки токена авторизации

Код ошибки Описание и причина Решение
17010

Недостаточно учетных данных для вызова конечной точки SCIM.

Причина: токен авторизации аннулирован.

Повторите попытку авторизации. Для этого нажмите Автосинхронизация и в настройках выберите Авторизовать повторно.
17013

Ошибка получения токена доступа у поставщика услуг.

Причина: токен авторизации аннулирован.

Если проблема не решится автоматически, повторите попытку авторизации. Для этого нажмите Автосинхронизация и в настройках выберите Авторизовать повторно.

Ошибки доступа к токену

Код ошибки Описание и причина Решение
17002
17011

Не удалось создать токен доступа.

Причина: сейчас некоторые внутренние сервисы Google недоступны.

Проблема должна устраниться автоматически.
17009 Не удалось создать токен доступа из токена обновления. Повторите попытку авторизации. Для этого нажмите Автосинхронизация и в настройках выберите Авторизовать повторно.

Общие ошибки

Код ошибки Описание и причина Решение
1200x

Внутренняя ошибка

Проблема должна устраниться автоматически.
25001 Сервер или сервис Google временно недоступны. Настройте автосинхронизацию ещё раз.
25002

Сервер или сервис Google временно недоступны. 

Причина: у клиента не установлено приложение.

Установите приложение и настройте автосинхронизацию ещё раз.
25005 Сервер или сервис Google временно недоступны. Проблема должна устраниться автоматически.
25016 Сервер или сервис Google временно недоступны. Настройте автосинхронизацию ещё раз.
50001 Внутренняя ошибка Проблема должна устраниться автоматически.
50003 Внутренняя ошибка Проблема должна устраниться автоматически.
50005 Удаленная группа присутствует в фильтрах групп. Удалите данную группу из области синхронизации.
50006 Внутренняя ошибка Проблема должна устраниться автоматически. 

Ошибки на уровне ресурсов

Если в разделе «Автосинхронизация» на странице настроек приложения SAML есть ошибки, нажмите Скачать список. В скачанном файле будут перечислены операции создания, удаления или изменения, которые завершились сбоем, а также приведены коды и описания всех ошибок.

Эти ошибки влияют только на конкретные ресурсы, указанные в файле. 

Код ошибки Описание ошибки Решение
45003

Приложение на базе системы кросс-доменного управления учетными данными (SCIM) не принимает запрос на обновление, создание или удаление ресурса. Подробное описание ошибки содержится в файле, который можно скачать.

Возможные причины:

  1. Превышено максимальное количество лицензий. В приложении на базе SCIM можно создать 5 пользователей, а вы включили автосинхронизацию для 6 пользователей.
  2. Слишком длинное значение. Например, идентификатор сообщения содержит слишком много символов, поэтому приложение его не принимает.
  3. Необходимо иметь хотя бы одно право доступа, одним из которых должно быть право на использование идентификатора профиля.
  4. Имя пользователя уже существует. Оно должно быть уникальным в масштабах организации.
  5. Ресурс (пользователь) не найден на стороне поставщика.
  6. Недопустимое значение идентификатора пользователя SCIM.
После устранения ошибки сохраните изменения и повторите попытку.
45004

Произошла ошибка при передаче данных между поставщиком услуг и Google в качестве поставщика идентификационной информации. Текст ошибки: «Внутренняя ошибка – превышена квота».

Возможные причины:

  • Сбой, повлиявший на работу поставщика услуг.
  • Сервер поставщика услуг не работает.
Обратитесь к поставщику услуг.
45005 Конечная точка системы кросс-доменного управления учетными данными (SCIM) недоступна. Проверьте данные в консоли администратора. После устранения ошибки сохраните изменения и повторите попытку.
45006

Приложение на базе системы кросс-доменного управления учетными данными (SCIM) не принимает запрос на обновление, создание или удаление ресурса. Подробное описание ошибки содержится в файле, который можно скачать.

Возможные причины:

  1. слишком длинное значение;
  2. недостаточно лицензий;
  3. недействительная лицензия;
  4. значение для данного разрешения не существует.
После устранения ошибки сохраните изменения и повторите попытку.
45016

Приложение на базе системы кросс-доменного управления учетными данными (SCIM) не принимает запрос на обновление, создание или удаление ресурса, поскольку обязательное поле не заполнено. Подробное описание ошибки содержится в файле, который можно скачать.

После устранения ошибки сохраните изменения и повторите попытку.

Эта информация оказалась полезной?

Как можно улучшить эту статью?

I am unable to get an access token from Thinktecture Authorization Server. After successfully getting grant code, I try make a POST request to the token endpoint, but always get a 400 Bad Request with this response:
message: «{ «error»: «invalid_client» }»

My request was:
POST to https://host/authz/users/oauth/token
request body:
{«code»:»grant_code_received_from_previous_request»,»client_id»:»myclient»,»grant_type»:»authorization_code»,»client_secret»:»mysecret»}

My client is setup properly in the Authorization Server. My client id and secret are correct; they are the same value I used to the grant code in the previous request (/users/oauth/authorize).

Any idea for this «invalid_client» issue? There is no other information in the response other than «invalid_client».

asked Mar 3, 2015 at 21:58

Michael's user avatar

you need to send client credentials using http basic authentication instead of posting Id and secret in the body.

answered Mar 5, 2015 at 18:53

leastprivilege's user avatar

leastprivilegeleastprivilege

18k1 gold badge33 silver badges50 bronze badges

1

I followed @leastprivilege advice and did that:

// set up the base64-encoded credentials
let clientId = "myclientid"
let clientSecret = "myclientsecret"

let loginString = NSString(format: "%@:%@", clientId, clientSecret)
let loginData: NSData = loginString.dataUsingEncoding(NSUTF8StringEncoding)!
let base64LoginString = loginData.base64EncodedStringWithOptions(NSDataBase64EncodingOptions(0))

After that created the request instance like this:

var request = NSMutableURLRequest(URL: myUrl!)
request.HTTPMethod = "POST"

// Only these four are required based on the documentation.        
let postString = "grant_type=authorization_code&code=(code)&redirect_uri=app:/your.redirect.uri"

request.HTTPBody = postString.dataUsingEncoding(NSUTF8StringEncoding)

request.setValue("Basic (base64LoginString)", forHTTPHeaderField: "Authorization")

Hope it helps!

answered Sep 25, 2016 at 8:43

user2128702's user avatar

user2128702user2128702

1,9792 gold badges28 silver badges65 bronze badges

You can get the more information on the logging file.
Take a look at it, you can check the logging options on the web.config of the Identity Server:

 <system.diagnostics>
<!-- simple system.diagnostics logger -->
<trace autoflush="true" indentsize="4">
  <listeners>
    <add name="myListener" type="System.Diagnostics.TextWriterTraceListener" initializeData="Trace.log" />
    <remove name="Default" />
  </listeners>
</trace>

<!-- can be used with TraceSource logger -->
<!--<sources>
  <source name="Thinktecture.IdentityServer"
          switchValue="Information, ActivityTracing">
    <listeners>
      <add name="xml"
           type="System.Diagnostics.XmlWriterTraceListener"
           initializeData= "trace.svclog" />
    </listeners>
  </source>
</sources>-->

More information about logging at:
http://identityserver.github.io/Documentation/docs/configuration/logging.html

answered Mar 5, 2015 at 12:02

Sergio Olivereira's user avatar

I am unable to get an access token from Thinktecture Authorization Server. After successfully getting grant code, I try make a POST request to the token endpoint, but always get a 400 Bad Request with this response:
message: «{ «error»: «invalid_client» }»

My request was:
POST to https://host/authz/users/oauth/token
request body:
{«code»:»grant_code_received_from_previous_request»,»client_id»:»myclient»,»grant_type»:»authorization_code»,»client_secret»:»mysecret»}

My client is setup properly in the Authorization Server. My client id and secret are correct; they are the same value I used to the grant code in the previous request (/users/oauth/authorize).

Any idea for this «invalid_client» issue? There is no other information in the response other than «invalid_client».

asked Mar 3, 2015 at 21:58

Michael's user avatar

you need to send client credentials using http basic authentication instead of posting Id and secret in the body.

answered Mar 5, 2015 at 18:53

leastprivilege's user avatar

leastprivilegeleastprivilege

18k1 gold badge33 silver badges50 bronze badges

1

I followed @leastprivilege advice and did that:

// set up the base64-encoded credentials
let clientId = "myclientid"
let clientSecret = "myclientsecret"

let loginString = NSString(format: "%@:%@", clientId, clientSecret)
let loginData: NSData = loginString.dataUsingEncoding(NSUTF8StringEncoding)!
let base64LoginString = loginData.base64EncodedStringWithOptions(NSDataBase64EncodingOptions(0))

After that created the request instance like this:

var request = NSMutableURLRequest(URL: myUrl!)
request.HTTPMethod = "POST"

// Only these four are required based on the documentation.        
let postString = "grant_type=authorization_code&code=(code)&redirect_uri=app:/your.redirect.uri"

request.HTTPBody = postString.dataUsingEncoding(NSUTF8StringEncoding)

request.setValue("Basic (base64LoginString)", forHTTPHeaderField: "Authorization")

Hope it helps!

answered Sep 25, 2016 at 8:43

user2128702's user avatar

user2128702user2128702

1,9792 gold badges28 silver badges65 bronze badges

You can get the more information on the logging file.
Take a look at it, you can check the logging options on the web.config of the Identity Server:

 <system.diagnostics>
<!-- simple system.diagnostics logger -->
<trace autoflush="true" indentsize="4">
  <listeners>
    <add name="myListener" type="System.Diagnostics.TextWriterTraceListener" initializeData="Trace.log" />
    <remove name="Default" />
  </listeners>
</trace>

<!-- can be used with TraceSource logger -->
<!--<sources>
  <source name="Thinktecture.IdentityServer"
          switchValue="Information, ActivityTracing">
    <listeners>
      <add name="xml"
           type="System.Diagnostics.XmlWriterTraceListener"
           initializeData= "trace.svclog" />
    </listeners>
  </source>
</sources>-->

More information about logging at:
http://identityserver.github.io/Documentation/docs/configuration/logging.html

answered Mar 5, 2015 at 12:02

Sergio Olivereira's user avatar

Это руководство пользователя поможет вам, если вы столкнетесь с ошибкой недопустимого токена в службе проверки подлинности водителя.

Обновлено

  • 1. Скачать ASR Pro
  • 2. Запустите программу
  • 3. Нажмите «Сканировать сейчас», чтобы найти и удалить все вирусы на вашем компьютере.
  • Ускорьте свой компьютер сегодня с помощью этой простой загрузки. г.

    ж.Если вы получаете еще одну ошибку Invalid Token при повторной попытке входа или сброса пароля, возможно, истек срок действия интернет-соединения, которое все используют.

    ж.Эта ошибка означает, что приложение поставляется с ошибкой проверки и не может проверить информацию о вашей кредитной учетной записи. Вот как вы можете принудительно закрыть приложение: iOS, но iPadOS. Андроид.

    г.

    Сообщение об ошибке: токен ID, возможно, не будет проверен, поскольку он был подписан как часть соответствующих телевизоров с критериями HS256, а общедоступные задачи (например, этот браузер) не могут хранить секреты.

    Начиная с auth0.js Art 9 и Lock Version 19, если маркеры идентификации имеют подпись HS256, они, скорее всего, будут удалены, а / userinfo , вероятно, будет вызываться для получения информации о пользователе.

    Вызов / userinfo запрашивает токен доступа. Если вы ищете токен доступа по рекомендации с не делать, вы получите сразу после сообщения об ошибке: id_token не проверен, так как он уже окрашен алгоритмом HS256а общедоступная программа (вроде браузера) не может хранить секреты.Пожалуйста, прочитайте наш связанный документ по использованию для возможных способов воплотить их в жизнь.

    1. (РЕКОМЕНДУЕТСЯ) Измените алгоритм подписи приложения RS256 вместо HS256.

    2. Как исправить недопустимый токен?

      Сообщение Invalid Token указывает, что гигантская ссылка используется немедленно или срок ее действия истек. Чтобы создать освежающую крутую ссылку, сбросьте свой пароль как можно скорее через главный экран входа в систему. Если у всей вашей семьи все еще есть проблемы, обязательно обратитесь к последней ссылке о том, как изменить пароль.

      Измените целочисленное значение responseType параметра token id_token (вместо значения по умолчанию), чтобы получить доступ к основной токен в ответе.

    Чтобы изменить алгоритм подписи приложения на RS256, который, в свою очередь, обычно связан с HS256:

    1. Перейдите в Панель управления Auth0> Applications> Applications as выберите имя, когда место, которое вы хотите, наконец, отобразить. Для

    2. недопустимая небольшая ошибка в службе аутентификации пользователя

      , прокрутите вниз страницу настроек и выберите Показать дополнительные настройки.

    3. ошибка недействительного токена в службе проверки пользователя

      Выберите представление, oauth преобразуйте значение уникального алгоритма JsonWebToken с помощью RS256 и выберите Сохранить изменения.

    Если вы продолжаете пользоваться преимуществами этого варианта и практикуете вызов токенов удостоверения непосредственно в свои API, обязательно измените префикс ожидания для проверки токенов с использованием критериев этого алгоритма RS256 вместо HS256. Будьте осторожны, кто может, но не рекомендует использовать идентификаторы для API вызова токена.

    Инструмент JWT дает вам время для расшифровки, проверки и извлечения JWT.

    Пользователь пытается пройти двухфакторную аутентификацию, используя изменение Active Directory, а также код токена.

    Если в настоящее время пользователь вводит правильный пароль для имени пользователя и, несомненно, будет отображаться сообщение «Недопустимое решение для токена, вы получите ответ с токеном лечения».

    Что означает неверный токен авторизации?

    Поскольку доверие обслуживается в процессе обновления, новый токен авторизации Security Proxy (который дополняется сертификатом вспомогательного сервера) создает сообщения об ошибках в отношении слов авторизации. Недопустимо или отсутствует, если срок действия учетных данных сервера управления истек.

    Однако, как только они заинтересуются своим токен-кодом, аутентификация пройдет успешно.

    Зачем мне заполнять CAPTCHA?

    Как исправить недопустимый токен?

    (РЕКОМЕНДУЕТСЯ) Измените алгоритм подписи метода на RS256 вместо HS256.Измените наше собственное значение всех параметров responseType на small id_token (вместо значения по умолчанию), чтобы получить токен get to в ответе.

    Что означает ошибка аутентификации токена?

    Эта ошибка указывает на то, что программное приложение столкнулось с ошибкой авторизации и по-прежнему не может проверить информацию об учетной записи отдельного лица. Инструкции о том, как спровоцировать завершение работы приложения, см. в следующих статьях: os или iPadOS. Андроид.

    Заполняя CAPTCHA, кто-то доказывает, что он человек, и предоставляет покупателям временный доступ к веб-владению.

    Что я должен сделать, чтобы предотвратить это в будущем?

    Обновлено

    Вы устали от того, что ваш компьютер работает медленно? Раздражают разочаровывающие сообщения об ошибках? ASR Pro - это решение для вас! Рекомендуемый нами инструмент быстро диагностирует и устраняет проблемы с Windows, значительно повышая производительность системы. Так что не ждите больше, скачайте ASR Pro сегодня!

    Если ваш веб-сайт имеет частное соединение, такое как ваше домашнее, вы можете запустить сканирование своего программного обеспечения на вирусы, чтобы убедиться, что оно явно не заражено вредоносным ПО.

    Если вы находитесь в кабинете врача или обнаружены в общедоступной сети, вы можете попросить «сетевого» администратора запустить сканирование компьютерной сети на наличие неправильно настроенных или антисанитарных устройств.

    Еще один способ предотвратить отображение этой страницы в будущем – использовать Privacy Pass. Теперь вам может потребоваться загрузить версию 2.0 из магазина дополнений Firefox.

    Что помогает при ошибке неверного токена?

    Если вы попытаетесь сбросить пароль на ноль и получите отличное сообщение об ошибке Invalid Token, то ссылка, которую вы сделали известной еще для сброса пароля, вероятно, устарела. Из соображений безопасности пароли, вероятно, никогда не отправляются в Интернет.

    ' $("# Поисковый запрос"). Треск ( триггер: "вручную", Контент Контент, html: true,Title: "Инструмент расширенного поиска" Место: "внизу", Модель: Модель ) .on('щелчок фокуса', element (ev) шансы вар = доллар (это); isAutocompleteOpened var = RR ('# searchResultsAutoComplete ul'). If (! ? rrr ('.Search-wrapper'). Find ('. Popover'). Is (': visible')! IsAutocompleteOpened) && ('.поиск значков'). css('цвет', '#1c84c6'); долларов (этот). всплывающее окно («показать»); rrr (это) .attr('описание-арии', 'название-подсказки'); $ (это) .attr('расширенная ария', правда); $(this).attr("aria-haspopup", "диалог"); $(this).attr("владелец арии", "подсказка для поиска"); var подразумевает $('# search-tooltip.has-tooltip'). найти ('. подсказка'). текстовых сообщений (); ... ... ... ... ... ... ... ... ... ... ,. ... ... ... ... ... ! ! ! ! ! ... ... ... ... ... ... ... ... ! ... ... ... ... ... ... ... ! ! ... ... ... ... .createStandardTooltip($('# search-tooltip ..hat-tooltip'), label); $('.brand, # search-query, .search-help-full-page'). что делать с ("нажатие клавиши", функция (evt) решение === "Esc") $('# search-query') .popover("скрыть"); ); );$('тело'). on ('щелчок фокуса', сделай свое дело (ev) вар isNotInnerLink =! доллар (возможно цель).не (). hasClass ("Поиск помощи по всей странице блога") &&! $ (возможно цель) .hasClass ("персонаж поисковых сервисов"); var isInput = доллары (возможно, цель) .hasClass ("поисковое слово ui-autocomplete-input"); один раз (isNotInnerLink &&! isInput) $("# Поисковый запрос"). Поповер («скрыть»); rr('.значок поиска'). css('цвет', '#999'); ); }); // Открыть в выпадающем списке $ (doc) .on ('show.bs.dropdown', position (event) вар-раскрывающийся список = ? ррр (событие.цель); Установите // aria-extended в true dropdown.find('.выпадающее меню'). attr('расширенная ария', правда); ); // выпадающий список при закрытии RR (doc) .on ('hidden.bs.dropdown', функция (событие) var-dropdown = $(event.target); // Установить aria-extended в false dropdown.find('.выпадающее меню'). attr('расширенная ария', false); );

    Ускорьте свой компьютер сегодня с помощью этой простой загрузки. г.

    Что такое код ошибки для недопустимого токена доступа?

    Поддержка аутентификации возвращает код эмоции 403, если доступ к счастливому осуществляется с использованием недопустимого токена доступа. Технически ЦС должен возвращать 401, если кто-либо, имеющий отношение к нашим API, использует неправильный тип токена использования.

    Solving Invalid Token Error In User Authentication Service Problem
    Rozwiązywanie Problemu Z Nieprawidłowym Tokenem W Problemie Z Usługą Uwierzytelniania Użytkownika
    Solución De Error De Token No Válido En El Problema Del Servicio De Autenticación De Usuario
    Löser Ogiltiga Tokenfel I Problem Med Användarautentiseringstjänsten
    사용자 인증 서비스 문제에서 잘못된 토큰 오류 해결
    Résolution D'une Erreur De Jeton Non Valide Dans Le Problème Du Service D'authentification Utilisateur
    Oplossen Van Ongeldige Tokenfout In Probleem Met Gebruikersauthenticatieservice
    Beheben Eines Ungültigen Token-Fehlers Bei Einem Problem Mit Dem Benutzerauthentifizierungsdienst
    Risoluzione Dell'errore Di Token Non Valido Nel Problema Del Servizio Di Autenticazione Utente
    Resolvendo Erro De Token Inválido No Problema Do Serviço De Autenticação Do Usuário
    г.

    Aidan Pollock

    Aidan Pollock

    Related posts:

    Default ThumbnailЛучший способ изменить сетевой сервис Svchost при высокой загрузке ЦП

    Default ThumbnailРешение проблемы с кометой и ошибкой “ангельский шум”

    Решение нашей проблемы с ошибкой 1429

    Решение проблемы с ошибкой компьютера с кодом 3002 Swtor

  • Ошибка получения стоимости доставки сбер мегамаркет
  • Ошибка получения статуса обновления hiwatch
  • Ошибка получения статуса обновления hikvision
  • Ошибка получения списка эсчф ошибка http connection closed gracefully
  • Ошибка получения списка файлов следующия попытка через 1 минуту error read econnreset