Amazon web services Cognito-用户池应用程序集成和联合-¿;如何刷新id_令牌?

Amazon web services Cognito-用户池应用程序集成和联合-¿;如何刷新id_令牌?,amazon-web-services,aws-sdk,aws-cognito,Amazon Web Services,Aws Sdk,Aws Cognito,Im使用AWS Cognito的一个新功能,这是一个与用户池集成的应用程序,有关更多详细信息,请参阅。这里有一个例子,在这个例子中我可以得到id令牌,访问令牌,但是刷新令牌是空的 我检查了Amazon Congito-->Amazon Cognoto API参考-->Amazon Cognoto Auth API参考-->授权端点中的文档 对于没有openid的作用域 “Amazon Cognito授权服务器使用访问令牌重定向回您的应用程序。由于未请求openid作用域,因此不会返回ID令牌

Im使用AWS Cognito的一个新功能,这是一个与用户池集成的应用程序,有关更多详细信息,请参阅。这里有一个例子,在这个例子中我可以得到id令牌,访问令牌,但是刷新令牌是空的

我检查了Amazon Congito-->Amazon Cognoto API参考-->Amazon Cognoto Auth API参考-->授权端点中的文档

  • 对于没有openid的作用域
“Amazon Cognito授权服务器使用访问令牌重定向回您的应用程序。由于未请求openid作用域,因此不会返回ID令牌。此流中从不返回刷新令牌。。令牌和状态在片段中返回,而不是在查询字符串中返回。”

  • 对于具有openid的作用域
“授权服务器使用访问令牌和ID令牌重定向回您的应用程序(因为包含openid作用域)。”

注意:这里没有提到任何关于刷新令牌的内容,但是它的响应是

“”


那么?我不知道a如何刷新我的id_令牌以使用一个多小时?(在openid范围内)

有两个身份验证流

  • 隐式流:仅向令牌ID发送访问令牌
  • Auth-grant-flow:首先您得到一个代码,您可以将其交换为三重令牌(TokenId、Access-token和Refresh-token)
我使用隐式流,因此无法获取刷新令牌。在该示例中,index.html文件中有一行“auth.useCodeGrantFlow();”,如果取消对该行的注释,则切换隐式流-->auth grant flow。 此时会有一个pull请求,因为这个流中有一个bug。有关更多详细信息(拉动请求#32)

我已经从pull请求中为同一个文件更改了dist/amazon-cognito-auth.js文件,它工作正常


注意:在Cognito用户池中配置应用程序时不使用密码非常重要,因为如果不这样做,则会出现“无效客户端”错误。这是因为sdk没有考虑到头“授权”,在授权授予流中的post to/oauth/token内点在什么时候进行。我要说,对我来说,切换到一个没有密钥的用户池就成功了