Cognito 重定向回我的 URL 时找不到刷新令牌

Meh*_*ran 5 amazon-web-services jwt amazon-cognito refresh-token

我正在使用 AWS 的 Cognito 进行测试。在这一点上,我可以找回我的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
Run Code Online (Sandbox Code Playgroud)

然后我在这样的 URL 上尝试了默认网页(由 Cognito 提供):

https://test-cognito.auth.us-east-1.amazoncognito.com/login?response_type=token&client_id=XXXXXXXXXXXXXXXXXXXXXX&redirect_uri=https://example.com
Run Code Online (Sandbox Code Playgroud)

此 URL 将带我到一个页面,我必须在其中进行身份验证,一旦该过程完成,它将带我回到我redirect_url附加的前面提到的 ID:

https://example.com#id_token=XXXXX.XXXXXX.XXXXXX&access_token=XXXXXX.XXXXXXX.XXXXXXX&expires_in=3600&token_type=Bearer
Run Code Online (Sandbox Code Playgroud)

但是没有任何迹象refresh_tokenrefresh_token在这种情况下我怎样才能得到我的?

Raj*_*nda 9

我认为目前不可能。AWS 明确指出刷新令牌仅在流类型为 时才可用Authorization Code Grant

你正在尝试的是Implicit Grant。响应类型设置为token您的情况。对于授权代码授予,将授予类型设置为,code但这还需要您在应用程序中存储客户端密钥。

来源 - https://developer.amazon.com/docs/login-with-amazon/refresh-token.html

有关补助金类型的更多信息 - https://alexbilbie.com/guide-to-oauth-2-grants/