Не удается заставить paw-app получить токен носителя из Azure B2C

Я пытаюсь пройти аутентификацию в Azure AD B2C с помощью Paw. Я дохожу до точки, где я получаю страницу входа в систему, я могу успешно войти в систему, затем приложение загружается в тех же окнах входа в систему, однако диалоговое окно входа никогда не исчезает и остается в «Ожидание авторизации» - Код пока не найден.

Следующие настройки:

Authorization Type: OAuth2
Grant Type: Authorization Code
Client ID: xxxxx

Authorization URL: https://login.microsoftonline.com/{B2C domain}.onmicrosoft.com/oauth2/authorize?response_mode=query&p=B2C_1_signupin


Access Token URL: https://login.microsoftonline.com/{B2C domain}.onmicrosoft.com/oauth2/v2.0/token?p=b2c_1_signupin

Redirect URL: http://{application url}

Scope: offline_access
State: Nonce

Token: Bearer _____

Кто-нибудь успешно работал с Azure AD B2C и Paw?


person chadgates    schedule 06.03.2018    source источник
comment
Можете ли вы проверить, что URL-адрес авторизации включает /oauth2/v2.0/authorize?   -  person Chris Padgett    schedule 07.03.2018
comment
Да, это так, как указано выше.... login.microsoftonline.com/xxxx.onmicrosoft.com/oauth2/authorize?response_type=code+id_token&response_mode=query&p=B2C_1_signupin, где xxxx означает доменное имя для службы B2C.   -  person chadgates    schedule 07.03.2018
comment
Он должен включать путь /v2.0: например, login.microsoftonline.com/xxx.onmicrosoft.com/oauth2/v2.0/authorize?..   -  person Chris Padgett    schedule 07.03.2018
comment
Спасибо, Крис, сделал это. Создано новое приложение в Azure, которое не было разрешено с предыдущим Client_ID, но имеет тот же результат, диалоговое окно входа — успешный вход, ожидание учетных данных...   -  person chadgates    schedule 08.03.2018
comment
Спасибо @chadgates. Точно так же может потребоваться изменить URL-адрес конечной точки токена на login.microsoftonline.com/xxx.onmicrosoft.com/oauth2/v2.0/token?p=... URL-адрес конечной точки токена в исходном вопросе не разрешается. к реальному хосту.   -  person Chris Padgett    schedule 08.03.2018
comment
Это может помочь в диагностике: postman b2c   -  person spottedmahn    schedule 09.03.2018
comment
@ChrisPadgett: я неправильно скопировал это в свой пример, мой плохой. Но локально у меня действительно было это правильно.   -  person chadgates    schedule 09.03.2018


Ответы (1)


Мне потребовалось некоторое время, чтобы понять, как это сделать, но в конце концов я заработал и доставил токен доступа, используя политику регистрации и входа. Ключ был на этой странице, где описаны все параметры:

https://docs.microsoft.com/en-us/azure/active-directory-b2c/authorization-code-flow

Ключевым для меня было это примечание о масштабе:

Использование идентификатора клиента в качестве области указывает на то, что вашему приложению требуется токен доступа, который можно использовать для вашей собственной службы или веб-API, представленного тем же идентификатором клиента.

Конечно же, после определения моего идентификатора клиента в полях «Идентификатор клиента» и «Область» я получил его, чтобы начать возвращать токен аутентификации.

Чтобы быть тщательным, вот как определены все мои поля:

Grant Type: Authorization Code
Client ID: <Application/Client ID>
Client Secret: <None>
Authorization URL: https://{tenant}.b2clogin.com/{tenant}.onmicrosoft.com/{profile}/oauth2/v2.0/authorize
Access Token URL: https://{tenant}.b2clogin.com/{tenant}.onmicrosoft.com/{profile}/oauth2/v2.0/token
Redirect URL: <Redirect URL>
Scope: <Application/Client ID>

person JacobJ    schedule 02.02.2021