Azure AD. Неявный поток. adal.js. Как согласиться? - PullRequest
0 голосов
/ 11 октября 2019

Я использую Azure AD и неявный поток через adal.js. Необходимо получить согласие пользователя, прежде чем возвращать идентификационный токен для неявного потока. Кроме того, пользователь должен выбрать учетную запись, поскольку он может использовать несколько учетных записей

Однако это не работает так, как мне нужно. Поскольку у меня много учетных записей, я использую prompt=select_account, например:

window.config = {
    instance: 'https://login.microsoftonline.com/',
    tenant: tenantId,
    clientId: clientId,
    postLogoutRedirectUri: window.location.origin,
    popUp: false,
    extraQueryParameter : "prompt=select_account" 
};

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

При установке prompt=consent см. Диалоговое окно с согласием, но оно появляется каждый раз, когда ИНОГДА не удается выбрать нужную учетную запись, и авторизация неправильно вошла в учетную запись. Я понимаю, что prompt=consent необходим для повторного подтверждения в некоторых случаях (при изменении разрешений приложения), поэтому, похоже, использование этого приглашения не решает мою проблему.

Я пытался prompt=select_account consent и prompt=select_account%20consentно возвращается с ошибкой, что prompt недопустимо.

Напротив, когда я использую поток кода предоставления, я вижу согласующий диалог И согласие сохраняется в объявлении Azure, поэтому пользователь не увидит его во второй раз. Нужно такое же поведение при неявном потоке.

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