Не удается найти токен обновления, когда Cognito перенаправляет обратно на мой URL - PullRequest
0 голосов
/ 24 апреля 2018

Я тестирую с Cognito от AWS. В этот момент я могу вернуть свои IdToken, AccessToken и RefreshToken следующим образом:

$ aws cognito-idp admin-initiate-auth --user-pool-id us-east-1_XXXXXXXX --client-id XXXXXXXXXXXXXXXXXXXXXXX --auth-flow ADMIN_NO_SRP_AUTH --auth-parameters USERNAME=XXXXXXXXXXXXX,PASSWORD=XXXXXXXXXXXXX --region us-east-1

Затем я попробовал веб-страницу по умолчанию (предоставленную Cognito) по URL-адресу, подобному следующему:

https://test-cognito.auth.us-east-1.amazoncognito.com/login?response_type=token&client_id=XXXXXXXXXXXXXXXXXXXXXX&redirect_uri=https://example.com

Этот URL приведет меня на страницу, где я должен пройти аутентификацию, и после завершения процесса я вернусь к моему redirect_url с добавленными ранее идентификаторами:

https://example.com#id_token=XXXXX.XXXXXX.XXXXXX&access_token=XXXXXX.XXXXXXX.XXXXXXX&expires_in=3600&token_type=Bearer

Но нет никаких признаков refresh_token! Как я могу получить свой refresh_token в этом сценарии?

Ответы [ 2 ]

0 голосов
/ 02 июля 2019

Документация по токенам обновления гласит (спасибо Раджешу за то, что указал на это!),

Токены обновления действительны неопределенно , если пользователь не удалил сайт или мобильный телефонприложение из списка разрешенных приложений для их учетной записи.

Очевидно, вам не нужен новый токен обновления - просто используйте исходный.

Это кажется немного странным, но, столкнувшись с той же «проблемой», я попытался повторно использовать исходный токен обновления, чтобы получить новый токен доступа.Конечно же, я мог использовать один и тот же токен обновления столько раз, сколько хотел получить новый токен доступа.

0 голосов
/ 14 сентября 2018

Я не думаю, что это возможно в настоящее время. AWS четко заявляет, что токен обновления доступен, только если тип потока Authorization Code Grant.

То, что вы пытаетесь это Implicit Grant. В вашем случае responseType установлен на token. Для предоставления кода авторизации установите тип предоставления code, но вам также потребуется сохранить секретный ключ клиента в приложении.

Источник- https://developer.amazon.com/docs/login-with-amazon/refresh-token.html.

Для получения дополнительной информации о типах грантов - https://alexbilbie.com/guide-to-oauth-2-grants/

...