【问题标题】:aws-amplify Auth.currentSession() not giving refreshed token after an houraws-amplify Auth.currentSession() 一小时后未提供刷新的令牌
【发布时间】:2019-04-23 16:21:01
【问题描述】:

您的问题与哪个类别有关?

AWS 放大自动处理刷新令牌

您正在使用哪些 AWS 服务?

aws 放大

提供其他详细信息,例如代码sn-ps

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 文档告诉它正在内部自动刷新令牌,@987654323 @ 每次都会为您提供最新的有效 jwtToken。

但我的经验是:我登录:Auth.currentSession() 不断给我登录时收到的 jwtToken。一个小时后,令牌已过期,Auth.currentSession() 仍在提供之前过期的令牌,导致我的服务器向我发送 401。我该如何处理?如何不断获取最新的有效刷新 jwtToken?是我用错了,还是bug?

【问题讨论】:

标签: javascript aws-amplify


【解决方案1】:

这个答案对您来说可能为时已晚,但如果其他人偶然发现此线程,您可能正在使用“令牌”作为您的授权授予流程。请改用“代码”。不要忘记在 cognito 控制台中进行更改。选择授权码授权而不是隐式授权

【讨论】:

    猜你喜欢
    • 2021-01-01
    • 2020-10-05
    • 2020-10-16
    • 2020-04-03
    • 2015-08-31
    • 2013-02-17
    • 1970-01-01
    • 2019-06-22
    • 1970-01-01
    相关资源
    最近更新 更多