При попытке выполнить регистрацию/обновление списка операций в мобильном приложении DSS Client появляется ошибка: "unauthorized_client"
Возможные причины возникновения ошибки:
1. В настройках сервиса взаимодействия с мобильным приложением (mDAG) указан некорректный секрет oauth-клиента, используемого для аутентификации mDAG на Центре Идентификации (ЦИ) DSS.
Диагностика:
Пример ошибки в «Журналы приложений и служб -> CryptoPro-> DSS-> myDSSApiGateway-> Admins»: Error: authentication_failed ErrorDescription: The authentication request failed. Response status 'BadRequest'. Reason Phrase 'Bad Request'. Message '{"error":"unauthorized_client","error_description":"The provided credentials of type 'SharedSecret' are invalid."}'.
Пример ошибки в «Журналы приложений и служб -> CryptoPro-> DSS-> IdentityService-> Admins»: The credentials of type 'SharedSecret' with value '9PeUxytPcPb942PGYRsuX47LN4HgaT99' is not registered for client with id 'cryptopro.mydss.DSSClient'.
Рекомендуемое решение:
- На сервере с mDAG выполнить командлет:
Get-MdagProperties -DisplayName "Имя приложения mDAG"
- Скопировать из вывода командлета значения параметров "ClientId" и "ClientSecret";
- На сервере с DSS выполнить командлет:
Get-DssClientSecret -DisplayName "Имя приложения ЦИ" -ClientId "Значение ClientId из вывода прошлого командлета"
- Проверить, что значение секрета в полученном выводе соответствует значению "ClientSecret" из командлета, указанного в п. 1;
- Если в выводе командлета из п. 1 указано значение "ClientSecret", не соответствующее тому, что было получено в выводе командлета из п. 3 - выполнить на сервере с mDAG командлет:
Set-MdagProperties -DisplayName "Имя приложения mDAG" -ClientSecret "Значение действующего секрета из вывода командлета п. 3"
- Перезапустить пул приложения mDAG (на всех узлах, в случае кластерного исполнения):
Restart-MdagInstance -DisplayName "Имя приложения mDAG"
2. Истек срок действия секрета oauth-клиента, используемого для аутентификации mDAG на ЦИ DSS.
Диагностика:
Пример ошибки в «Журналы приложений и служб -> CryptoPro-> DSS-> myDSSApiGateway-> Admins»: Error: authentication_failed ErrorDescription: The authentication request failed. Response status 'BadRequest'. Reason Phrase 'Bad Request'. Message '{"error":"unauthorized_client","error_description":"The provided credentials of type 'SharedSecret' are invalid."}'.
Пример ошибки в «Журналы приложений и служб -> CryptoPro-> DSS-> IdentityService-> Admins»: The credentials for the client with id 'cryptopro.mydss.DSSClient' of a type 'SharedSecret' is invalid. Error 'unauthorized_client'. Additional info: [The provided credentials of type 'SharedSecret' expired at '15.05.2023 0:41:01 +03:00'.]
Рекомендуемое решение:
- На сервере с mDAG выполнить командлет:
Get-MdagProperties -DisplayName "Имя приложения mDAG"
- Скопировать из вывода командлета значение параметра "ClientId";
- На сервере с DSS выполнить командлет для генерации нового секрета:
Set-DssClient -DisplayName "Имя приложения ЦИ" -ClientId "Значение ClientId из вывода командлета п. 1" -GenerateSecret
Получить значение нового секрета: Get-DssClientSecret -DisplayName "Имя приложения ЦИ" -ClientId "Значение ClientId из вывода командлета п. 1"
- Прописать значение нового секрета в настройках mDAG:
Set-MdagProperties -DisplayName "Имя приложения mDAG" -ClientSecret "Значение нового секрета"
- Перезапустить пулы приложений ЦИ и mDAG (на всех узлах, в случае кластерного исполнения):
Restart-DssStsInstance -DisplayName "Имя приложения ЦИ"
Restart-MdagInstance -DisplayName "Имя приложения mDAG"
3. На уровне oauth-клиента, используемого для аутентификации mDAG на ЦИ DSS, не добавлены требуемые полномочия.
Диагностика:
Пример ошибки в «Журналы приложений и служб -> CryptoPro-> DSS-> myDSSApiGateway-> Admins»: ErrorDescription: The authentication request failed. Response status 'BadRequest'. Reason Phrase 'Bad Request'. Message '{"error":"unauthorized_client","error_description":"The 'grant_type' parameter in the request is invalid. The client is not authorized to request tokens with the specified flow."}'.
Пример ошибки в «Журналы приложений и служб -> CryptoPro-> DSS-> IdentityService-> Admins»: The 'grant_type' parameter in the request is invalid. The client with id 'cryptopro.mydss.DSSClient' is not authorized for using the 'urn:cryptopro:dss:identity:oauth:grant-type:mydss' grant.
Рекомендуемое решение:
- На сервере с mDAG выполнить командлет:
Get-MdagProperties -DisplayName "Имя приложения mDAG"
- Скопировать из вывода командлета значение параметра "ClientId";
- На сервере с DSS выполнить командлет для добавления требуемых полномочий oauth-клиента:
Set-DssClient -DisplayName "Имя приложения ЦИ" -ClientId "Значение ClientId из вывода командлета п. 1" -AllowedFlow ClientCredentials,MyDssAssertion
- Перезапустить пул приложения ЦИ (на всех узлах, в случае кластерного исполнения):
Restart-DssStsInstance -DisplayName "Имя приложения ЦИ"
|