gpt4 book ai didi

javascript - 适用于 JavaScript Web 应用程序的 AWS Cognito。如何检查 Cognito token 是否已过期

转载 作者:行者123 更新时间:2023-12-03 06:47:55 25 4
gpt4 key购买 nike

所以我有一个基本的网络应用程序,我尝试使用 AWS cognito 创建用户访问控制。我有一个自定义授权提供程序,并在输入正确的用户名密码后。我在登录页面中执行以下操作:

//Successful Login
var creds = AWS.config.credentials;
creds.params.IdentityId = output.identityId;
creds.params.Logins = {'cognito-identity.amazonaws.com': output.token};

//Store token in browser cache
localStorage.setItem('token', output.token);
localStorage.setItem('id', output.identityId);

//Launch dashboard
window.location = "./index.html";

将用户重定向到仪表板后,我会触发 onLoad 函数来检查用户是否具有正确的登录凭据,而不是过期的登录凭据。使用这个:

//read browser cache
var id = localStorage.getItem('id');
var token = localStorage.getItem('token');

//validate session

AWS.config.region = 'ap-northeast-1';
AWS.config.credentials = new AWS.CognitoIdentityCredentials({
IdentityPoolId: id,
Logins: {'cognito-identity.amazonaws.com': token}
});

//check if session is still active
if(AWS.config.credentials.expired) window.location = "./session-expire.html";

问题是过期属性始终为 true。不管我做什么。你们如何检查凭据是否有效?

提前致谢,拉詹

最佳答案

在您提供的代码示例中,您从未获取凭据。您设置了凭据提供程序,但不使用它调用任何服务,或显式尝试获取凭据。

其次,凭据不会在页面加载时保留。

这将导致您的代码示例中的凭据过期。

这个问题可能对你有帮助,只需用你自己的开发者身份验证流程替换 facebook 即可。 AWS.config.credentials are null between page requests

关于javascript - 适用于 JavaScript Web 应用程序的 AWS Cognito。如何检查 Cognito token 是否已过期,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37641848/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com