使用隐式授权流程(Amplify 配置为 Auth.oauth.responseType = 'token'),从 Cognito 托管 UI 重定向后,idToken 和 accessToken 已正确填充,refreshToken 保持为空 - 正如它应该的那样:
如果您在 React 应用程序上提供了该代码片段,则会发生自动刷新 token 。该库需要在不添加刷新处理程序回调的情况下刷新 token 。这是文档所说的,但它不起作用。
有人可以帮助我如何使用 AWS Amplify
刷新用户的 token 吗?
最佳答案
没有要刷新的刷新 token ,因为您使用的是隐式授予类型而不是授权代码授予类型。将授权类型从 token
更改为 code
,然后您将在调试日志中看到刷新 token 。
根据 AWS Mobile Blog :
the implicit grant does not generate refresh tokens
将传递给 Amplify.configure
的身份验证选项更改为如下所示:
Amplify.configure({
Auth: {
// other configurations...
// ...
oauth: {
// ...
responseType = 'code'
}
// ...
}
});
关于node.js - AWS amplify google 使用 React 登录 1 小时后不会自动刷新 token ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55137170/