您的问题与哪个类别有关?
AWS放大自动处理刷新令牌
您正在使用什么AWS服务?
aws-amplify
提供其他详细信息,例如代码段
axios.interceptors.request.use(function(config)
{ return Auth.currentSession() .then(session => { // User is logged in.
Set auth header on all requests
let accessToken = session.idToken.jwtToken;
axios.defaults.headers.common["Authorization"] = accessToken;
return Promise.resolve(config); })
.catch(() => {
// No logged-in user: don't set auth header
return Promise.resolve(config);
});
});
这是我现在正在使用的拦截器请求,以获取最新的有效令牌,而与总时间无关,因为用户以#446身份登录,而aws-amplify文档指出它正在内部自动刷新令牌,{{ 1}}每次都会为您提供最新的有效jwtToken。
但是我遇到的是:我登录:Auth.currentSession()
一直给我登录时收到的jwtToken。一个小时后,令牌已过期,Auth.currentSession()
仍在给这个先前过期的令牌,这导致服务器向我发送了401。我该如何处理它?如何保持获取最新的有效刷新的jwtToken?我使用的是错误的还是错误的?
答案 0 :(得分:0)
这个答案对您来说可能为时已晚,但是如果其他任何人在此线程上绊跌,您可能正在使用“令牌”作为您的授权授予流程。请改用“代码”。别忘了在Cognito控制台中进行更改。选择授权码授予,而不是隐式授予