AWS Amplify通过Google授权后如何获取accessToken?
Google授权后获取accessToken的方法
你可以直接从fetchAuthSession()返回的tokens对象中读取accessToken,调整代码如下:
const session = await fetchAuthSession(); const accessToken = session.tokens?.accessToken?.toString();
关于idToken为undefined的原因
Google OAuth授权流程里,idToken的返回要求授权请求必须包含openid这个scope。如果你的Google授权配置没加这个scope,服务端只会返回accessToken,不会生成idToken。而密码授权模式本身默认会返回idToken,所以你之前用密码授权能正常拿到。
从你提供的授权后日志信息来看,tokens对象里明确存在accessToken字段,直接读取就能拿到你需要的值。如果之后需要获取idToken,记得在Google OAuth的scope配置中添加openid,示例配置如下:
const oauthConfig = { // 其他配置项 scope: ['openid', 'email', 'profile'] };
内容的提问来源于stack exchange,提问作者Roman Grytskevich
相关产品推荐
相关产品推荐

