Как получить access_token от Identity Server, попадающего в конечную точку токена, передавая учетные данные от реагирующего клиента, используя fetch? - PullRequest
0 голосов
/ 28 сентября 2018

Мне нужно получить токен доступа от Identity Server через вызов API от клиента реакции (выборка).Я не хочу загружать пользовательский интерфейс для входа в систему с Identity Server (неявный поток), вводить учетные данные, перенаправлять на redirect_uri и затем получать access_token из URL-адреса.Я просто хочу передать учетные данные через вызов API (выборку) к конечной точке токена и получить токен доступа от реагирующего клиента (аналогично http://docs.identityserver.io/en/release/endpoints/token.html).

Конечная точка - http://localhost/identityserver/core/connect/token

Какие еще данные я должен передать вызову fetch?

Ниже приведены типы ответов и грантов, поддерживаемые идентификаторами:

response_types_supported: [ "code", "token", "id_token", "id_token token", "code id_token", "code token", "code id_token token" ], grant_types_supported: [ "authorization_code", "client_credentials", "password", "refresh_token", "implicit" ],

МайЯ знаю, как этого добиться с помощью пакета oidc-client (https://www.npmjs.com/package/oidc-client)? Пожалуйста, дайте мне знать, если вам нужно больше подробностей, чтобы я мог обновить вопрос с дополнительной информацией.

1 Ответ

0 голосов
/ 28 сентября 2018

Вам необходимо отправить на Конечный пункт токена , используя тип предоставления пароля:

POST / connect / token

client_id = yourclientid & client_secret = yourclientsecret &grant_type = password & username = yourusername & password = yourusernamespassword

Это вернет токен доступа , а не Identity Token .Если вам нужен доступ к информации о пользователе, вы можете получить ее из конечной точки UserInfo .

oidc-client , которая помогает аутентифицировать пользователя через Authorize Endpoint и, следовательно, не может помочь с конечной точкой токена

Это то, что говорится в документации о предоставлении пароля :

В спецификации рекомендуется использовать пароль владельца ресурса только для «доверенных» (или устаревших) приложений .Вообще говоря, вам, как правило, гораздо выгоднее использовать один из интерактивных потоков OpenID Connect, когда вы хотите аутентифицировать пользователя и запрашивать токены доступа.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...