Сервер идентификации: получение токена с использованием API и предотвращение входа в систему с помощью идентификационной информации

Я использую Identity Server 4 и пытаюсь подключить пользователей, ведущих журнал из приложения angular (с использованием неявного потока), чтобы они могли получить доступ к другим API. Я пытаюсь избежать попадания пользователей на страницу входа в ID Sever.

Мне нужно разместить форму входа в приложение angular и связаться с сервером идентификации через конечные точки (пропуская шаг 2 ниже)

Сейчас поток общения:

  1. Запросы пользователей на вход: я вызову конечную точку авторизации с необходимыми параметрами
  2. Затем Identity Server отображает форму входа и запрашивает учетные данные.
  3. После проверки учетных данных пользователь возвращается в приложение angular.

Я пытаюсь напрямую связаться с конечной точкой connect\token (передавая все необходимые параметры, включая имя пользователя и пароль), чтобы получить токен, однако, похоже, ему нужен секрет, который не применим в случае неявного потока.

  • Есть ли способ общаться только через API и возвращать токен, и в случае, если мне нужно изменить неявное, какой тип я должен использовать?

person Hussein Salman    schedule 25.11.2016    source источник


Ответы (2)


Я пытаюсь избежать попадания пользователей на страницу входа в ID Sever.

По определению неявный поток противоречит этому требованию.

person Brock Allen    schedule 27.11.2016
comment
не могли бы вы ответить на мой вопрос относительно API и типов, которые будут использоваться. Спасибо - person Hussein Salman; 28.11.2016
comment
Неявный клиент должен перенаправить для входа в систему с использованием токена id_token - person Brock Allen; 28.11.2016
comment
Какие возможные гранты подойдут для моего сценария? Я читал, что SPA нужен неявный поток? Будет ли гибрид работать в моем случае, чтобы избежать страницы входа? - person Hussein Salman; 28.11.2016
comment
Неявный поток предназначен для SPA - person Brock Allen; 28.11.2016

Я думаю, ты сможешь добиться того, чего хочешь, с

Flows.AuthorizationCode

Я настроил Почтальона для тестирования таким образом. Пример, показывающий, как это сделать в C #, по адресу https://github.com/IdentityServer/IdentityServer3.Samples/blob/master/source/Clients/ConsoleResourceOwnerWithUserInfo/Program.cs

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

person GlennSills    schedule 28.11.2016