Cognito - 用户池的应用程序集成和联邦 - ¿如何刷新id_token?

问题描述 投票:1回答:2

使用AWS Cognito的新功能IM,它的应用程序与用户群集成了更多的细节见https://github.com/aws/amazon-cognito-auth-js。这里有一个例子,在这个例子中,我能得到ID令牌,访问令牌,但刷新令牌是空的。

我查了文档中的亚马逊Congito - >亚马逊Cognito API参考 - >亚马逊Cognito验证API参考 - >授权端点

  • 对于没有OpenID的范围

“亚马逊Cognito授权服务器重定向到与访问令牌您的应用程序。由于未请求的OpenID范围,不返回ID令牌。刷新令牌是从来没有在这个流动返回。令牌和状态都在片段返回,而不是在查询字符串”。

  • 对于使用OpenID范围

“授权服务器重定向回您的应用访问令牌和ID令牌(因为OpenID的范围被列入)。”

注意:这里不避谈刷新令牌,但它的响应这个endopoint是

“Qazxswpoi”

然后¿我不知道如何可以刷新我的id_token使用了一个多小时? (丝毫的OpenID范围)

amazon-web-services aws-sdk aws-cognito
2个回答
2
投票

有两种身份验证流程

  • 隐流量:仅发送tokenId一个访问令牌
  • 验证批流程:首先,你得到一个代码,就可以转乘三重令牌(TokenId,访问令牌和刷新令牌)

我用的是隐含的流动,为了这个,我不可能得到刷新令牌。在该示例中,在index.html文件,有一个行“auth.useCodeGrantFlow();”如果去掉这一行切换隐流 - >验证批的流动。在这一刻有一个拉请求,因为在这个流程中的错误。为更详细地https://YOUR_APP/redirect_ur#id_token=ID_TOKEN&access_token=ACCESS_TOKEN&token_type=bearer&expires_in=3600&state=STATE(拉请求#32)

我已经改变了测距/亚马逊cognito-auth.js文件从拉入请求相同的文件,它做工精细

注:重要的是配置Cognito用户池您的应用程序没有秘密,因为如果你不这样做,你有“invalid_client”的错误。这是因为SDK犯规考虑做后在验证授予流量/的OAuth /令牌endopoint当标题“授权”


0
投票

有很多在这个问题和答案回事。我说,对我来说,切换到用户池,没有密钥的伎俩。

© www.soinside.com 2019 - 2024. All rights reserved.