Как отправить идентификатор электронной почты при вызове сервера идентификации 4 для входа в систему

#identityserver4 #angular-auth-oidc-client

#identityserver4 #angular-auth-oidc-client

Вопрос:

У меня есть приложение angular и приложение identity server 4. У меня есть страница входа в angular app, на которой есть только имя пользователя, и когда пользователь вводит свое имя пользователя, я хочу отправить это имя пользователя в IDs 4 и на основе его имени пользователя я попрошу его войти либо с помощью пароля, либо перенаправить на AZure AD (я сохранил эти настройки в базе данных, в каком режиме ему нужно войти).

Из angular мы можем вызывать только этот метод this.oidcSecurityService.authorize(); Кто-нибудь может предложить способ отправки имени пользователя в IS4 из приложения angular с использованием библиотеки angular-auth-oidc-client.

Ответ №1:

Запросы на авторизацию OpenID Connect могут включать имя пользователя в login_hint параметр. IdentityServer затем сделает это доступным для вас через IIdentityServerInteractionService .

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

Комментарии:

1. в этой библиотеке angular-auth-oidc-client я не смог найти никакого способа добавить имя пользователя в строку запроса при вызове сервера идентификации, но да, как вы упомянули, это должно быть. так должен ли я тогда использовать другую библиотеку?

2. Попробуйте это: github.com/damienbod/angular-auth-oidc-client/blob/master /… установить параметр вручную

3. Спасибо, мне жаль, что я пропустил эту четкую документацию. В будущем я не буду этого делать.

4. Обновлена ссылка выше: github.com/damienbod/angular-auth-oidc-client/blob/main/docs /…

5. обе ссылки выше неработающие.