如何使用AWS Amplify Gen 2获取Cognito用户刷新令牌?
在AWS Amplify Gen 2中获取Cognito用户的刷新令牌
默认情况下,AWS Amplify Gen 2(基于Amplify JS v6)不会在fetchAuthSession的返回结果中暴露刷新令牌,这是出于前端安全考量。但你可以通过调整调用参数来获取它,具体操作如下:
修改
fetchAuthSession调用参数
在调用fetchAuthSession时添加includeRefreshToken: true选项,强制返回刷新令牌:import { Amplify } from "aws-amplify" import { fetchAuthSession } from "aws-amplify/auth" const session = await fetchAuthSession({ includeRefreshToken: true }); // 提取刷新令牌的字符串形式 const refreshToken = session.tokens?.refreshToken?.toString();确认用户池配置
确保你的Cognito用户池已启用刷新令牌(默认处于启用状态)。若未开启,需在AWS控制台的用户池应用客户端设置中勾选"允许刷新令牌"选项。安全提醒
- 传输刷新令牌到后端时必须使用HTTPS,防止明文泄露。
- 后端存储刷新令牌时需加密,避免非法获取。
- 切勿在前端本地(如localStorage)存储刷新令牌,遵循Amplify内置的安全存储机制。
内容的提问来源于stack exchange,提问作者lexa
相关产品推荐
相关产品推荐

