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