Получение нового токена обновления в потоке предоставления кода авторизации oauth2.0

#amazon-web-services #oauth-2.0 #google-oauth #amazon-cognito

#amazon-web-services #oauth-2.0 #google-oauth #amazon-cognito

Вопрос:

Я настроил поток предоставления кода авторизации для Google с помощью Amazon Cognito. Я могу получить код авторизации, вызвав /login endpoint и обменяв его на access_token , refresh_token и id_token используя /token конечную точку, поэтому я предполагаю, что она настроена более или менее правильно.

К сожалению, когда я пытаюсь обменять a refresh_token на новые токены /token , также используя endpoint, я получаю только access_token и id_token без new refresh_token . Я пытался понять, почему это происходит, но в документации Amazon лишь кратко упоминается, что refresh_token возвращается только для кода авторизации. Что еще интереснее, в документации auth0 говорится, что /token конечная точка должна вести себя совсем по-другому — она должна возвращать не новые токены напрямую, а новый код авторизации.

И теперь я довольно смущен тем, что там происходит. Это Amazon изменил процесс авторизации пользователя с использованием кода авторизации? Или, что более вероятно, я этого не понимаю и сделал что-то не так?

Ответ №1:

Комментарии:

1. Спасибо @Mahdi. Теперь мне интересно, возможно ли получить новый refresh_token, не прося пользователя снова пройти через экран согласия авторизации Google? Или, может быть, после обмена refresh_token мы не сможем получить новый токен без повторной авторизации?

2. Ну, я бы сказал так: — Код авторизации можно использовать только один раз. Повторное использование существующего кода вернет ошибку invalid_grant, см. Ответы на эту ошибку docs.aws.amazon.com/cognito/latest/developerguide / … — refresh_token можно использовать повторно, он нам понадобится для генерации новых обоих токенов (access amp; id) — Чтобы получить новый refresh_token, нам нужно повторно войти в систему для генерации кода авторизации и повторной авторизации кода для генерации новых токенов (обновление, доступ, идентификатор) наконец

3. Хорошо, это то, чего я боялся. Спасибо!