Использование Microsoft в качестве IdP в AWS Cognito - PullRequest
0 голосов
/ 13 декабря 2018

Я пытаюсь реализовать социальную регистрацию с использованием учетной записи Microsoft в AWS Cognito User Pools.

Я следовал документации AWS для Cognito, чтобы настроить пул пользователей для разрешения аутентификации OpenID Connect: https://docs.aws.amazon.com/cognito/latest/developerguide/cognito-user-pools-identity-provider.html#cognito-user-pools-oidc-providers

И документация для использования Microsoft в качестве поставщика удостоверений: https://docs.microsoft.com/en-us/azure/active-directory/develop/v2-protocols-oidc - использование конечной точки V2 необходимо из того, что я понимаю, если я зарегистрировал приложение в Microsoft здесь: https://apps.dev.microsoft.com и я хочу аутентифицировать учетные записи @live

Итак, я выполнил следующие действия:

  • Зарегистрировал приложение в Microsoft: https://apps.dev.microsoft.com/ и добавил вебПлатформа в конфигурации с redirectURL: https://myapp.com/socialSignIn
  • Настройка пула пользователей в AWS Cognito и добавление для него клиента приложения
  • Настройка провайдера OpenID Connect для пула пользователей с необходимымДанные конфигурации Microsoft (идентификатор приложения и закрытый ключ от зарегистрированного приложения в Microsoft и конечные точки аутентификации / токена / UserInfo / Jwks от https://login.microsoftonline.com/common/v2.0/.well-known/openid-configuration)
  • Conвычислил клиент приложения в Cognito для использования Microsoft в качестве поставщика удостоверений и добавил разрешенные потоки OAuth для предоставления кода, включил openId в качестве разрешенных областей OAuth и добавил URL-адрес обратного вызова: https://myapp.com/socialSignIn (тот же URL-адрес, который настроен дляприложение Microsoft)
  • Настроил доменное имя Amazon Cognito для пула пользователей, чтобы использовать страницу входа в систему для встроенного входа

Поэтому я пытаюсь проверить социальный входиспользовать страницу входа, предоставляемую Amazon Cognito, доступную по URL-адресу: https://sso -module.auth.eu-central-1.amazoncognito.com / login? response_type = code & client_id = 19tsqvqibqpg617c5kplhqjuba & redirect_uri = https://myapp.com/socialLogin

После выбора входа в систему с настроенным Microsoft IDP я перенаправляюсь на страницу входа в Microsoft и после ввода имени пользователя моей учетной записи в Microsoft Live я получаю сообщение об ошибке: Предоставленное значение для параметра ввода 'redirect_uri' недопустимо.Ожидаемое значение: 'https://login.live.com/oauth20_desktop.srf' или URL-адрес, который соответствует URI перенаправления, зарегистрированному для этого клиентского приложения

Также, когда я перенаправлен на страницу входа Microsoft, в URL-адресе отображается, что параметр redirect_url имеет значениеустановить на страницу входа в Cognito, а не URL-адрес, который я настроил в Cognito для клиента приложения

Я что-то пропустил или что мне нужно сделать, чтобы это работало?

1 Ответ

0 голосов
/ 19 мая 2019

Я исправил это в настройках https://login.microsoftonline.com/9188040d-6c67-4c5b-b112-36a304b66dad/v2.0 в качестве эмитента в моем провайдере Microsoft OIDC в ​​Cognito.

Я также настроил сопоставление атрибутов для name и email для этого провайдера.

URL перенаправления, настроенный в https://apps.dev.microsoft.com/#/application/{your идентификатор приложения}, должен быть https://{your Amazone Cognito Domain} / oauth2 / idpresponse

И вам нужно включитьпровайдер в Интеграция приложений> Настройки клиента приложения вашего Cognito User Pool

...