Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/385.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 刷新令牌请求isn';Don’不要被当作饼干_Javascript_Reactjs_Cookies_Amazon Cognito - Fatal编程技术网

Javascript 刷新令牌请求isn';Don’不要被当作饼干

Javascript 刷新令牌请求isn';Don’不要被当作饼干,javascript,reactjs,cookies,amazon-cognito,Javascript,Reactjs,Cookies,Amazon Cognito,我正在使用js cookie在浏览器上保存cookie,我正在导出一个函数,并使用它调用一个后端API,使用一个令牌作为标头。一旦您作为cookie登录,我将保存这个令牌。当我登录时,我从cognito获得这个令牌,但是令牌每5分钟更改一次,因此5分钟后的初始令牌无效。我的问题是,令牌更改后的第一个调用无效且不起作用,因为它使用的是旧令牌,但如果我重新加载,请重新启动页面,新令牌将存储在浏览器中并起作用。我希望能够从cognito获取新令牌并返回新令牌 export async function

我正在使用js cookie在浏览器上保存cookie,我正在导出一个函数,并使用它调用一个后端API,使用一个令牌作为标头。一旦您作为cookie登录,我将保存这个令牌。当我登录时,我从cognito获得这个令牌,但是令牌每5分钟更改一次,因此5分钟后的初始令牌无效。我的问题是,令牌更改后的第一个调用无效且不起作用,因为它使用的是旧令牌,但如果我重新加载,请重新启动页面,新令牌将存储在浏览器中并起作用。我希望能够从cognito获取新令牌并返回新令牌

export async function getAuthHeaders() {
  const token = Cookies.get(MY_TOKEN)
  const currentUser = await UserPool.getCurrentUser()
  let authHeaders = {}
  const user = await currentUser.getSession(function (err, session) {
    console.log('old token:', token)
    console.log('new token:', session.idToken.jwtToken)
    if (err) {
      return null
    }
    if (session.isValid) {
      const sessionToken = session.idToken.jwtToken
      Cookies.set(MY_TOKEN, sessionToken, {
        secure: true,
        sameSite: 'strict',
      })
      authHeaders[token] = sessionToken
      return authHeaders
    } else {
      return null
    }
  })
  return user
}
这是我在axios headers键中使用的函数