Последние пару дней я пытался настроить Cognito для использования Battle.net OIDC.Я верю, что я в основном там.Я вижу, что при использовании размещенного в Cognito пользовательского интерфейса он аутентифицируется правильно, но затем завершается неудачно, по-видимому, пытаясь получить токен.
Первый запрос к пользовательскому интерфейсу, расположенному в Cognito:
https://<removed>.auth.us-west-2.amazoncognito.com/oauth2/authorize?identity_provider=Blizzard&redirect_uri=https://<my-site-oauth-handler-removed>/oauth&response_type=CODE&client_id=<removed>&scope=openid
Затем следующий запрос поступает в OIDC Battle.net, как и ожидалось:
https://us.battle.net/oauth/authorize?client_id=<removed>&redirect_uri=https%3A%2F%2F<removed>.auth.us-west-2.amazoncognito.com%2Foauth2%2Fidpresponse&scope=openid&response_type=code&state=<removed>
Затем код передается по идентификатору Cognito:
https://<removed>.auth.us-west-2.amazoncognito.com/oauth2/idpresponse?code=<removed>&state=<removed>
На данный момент, если мое понимание правильное, Cognito должен попытаться поразить конечную точку battle.net /oath/token
, а затем вернуть id_token и access_token моему redirect_url.Именно в этот момент Cognito вместо этого возвращает ошибку в мой URL:
https://<my-site-oauth-handler-removed>/oauth?error_description=Bad+id_token+issuer+oauth.battle.net&error=invalid_request
Судя по отсутствию документации для OIDC Battle.net, я могу быть одним из немногих, кто пытается использоватьOIDC Battle.net с Cognito.Это вполне может быть ошибкой в их реализации, но я стараюсь не спешить с этим выводом.
Сейчас я думаю, что я не настроил Cognito правильно для выполнения запроса POST токена. Необходимо использовать базовую аутентификацию с clientid: password, но я не могу проверить, правильно ли он это делает или нет, так как его абстрагируют.
В любом случае, когда я делаю запрос через свойприложение (использующее ampify для открытия размещенного пользовательского интерфейса) оно возвращает, но со следующим:
[ERROR] 51:05.25 OAuth - Error handling auth response. Error: Bad+id_token+issuer+oauth.battle.net
at OAuth.<anonymous> (OAuth.js:202)
at step (OAuth.js:52)
at Object.next (OAuth.js:33)
at OAuth.js:27
at tryCallTwo (core.js:45)
at doResolve (core.js:200)
at new Promise (core.js:66)
at __awaiter (OAuth.js:23)
at OAuth.handleAuthResponse (OAuth.js:181)
at AuthClass.<anonymous> (Auth.js:1632)
Вот все мои соответствующие настройки Cognito:
Поставщик OIDC:
- Имя поставщика: Blizzard
- Идентификатор клиента: [удалено]
- Секрет клиента: [удалено]
- Метод запроса атрибутов: POST
- Область авторизации: openid
- Эмитент: https://us.battle.net/oauth
Клиент приложения:
- Имя: [удалено]
- Идентификатор клиента приложения: [удалено]
- Секрет клиента приложения: (без секретного ключа)
Параметры клиента приложения:
Федеративная идентификация:
- Поставщики аутентификации
Поставщики удостоверений IAM:
- Имя поставщика: us.battle.net/oauth
- Тип поставщика: OIDC
- URL-адрес поставщика: нас.battle.net / oauth
- CA Отпечаток большого пальца: [удалено]
- Аудитория: [мой идентификатор клиента Battle.net]
Я исчерпал свои собственные ресурсы ипрошу каких-либо указаний с этим.
Спасибо!