v0x*_*ili 5 javascript authentication amazon-web-services amazon-cognito aws-sdk
我正在创建一个 React Web 应用程序,其中用户登录/注册和其他身份验证相关流程由 AWS Cognito 和随附的Javascript SDK 处理。
我的应用程序有一些“公共”路线/页面,每个人,无论是否登录,都可以查看,例如 /documentation/ 和 /sign-in/。还有各种私有路由,只有登录后才能看到,比如/my-documents/。
目前,我有一个可用的登录页面,其中用户使用与用例 #4 (Cognito Docs)非常相似的代码登录。
我现在的问题是:一旦用户转到 /my-documents/,我如何检查用户是否已登录并实际有权查看此页面?
我没有在我的应用程序中使用 AWS Amplify 进行身份验证。我只使用 NPM 包“amazon-cognito-identity-js”。
这是我目前用来检查会话是否有效的代码,换句话说,用户是否成功登录。然而,这似乎是检查如此简单状态的繁琐方法。
const isAuthenticated = () => {
const cognitoUser = userPool.getCurrentUser();
let isSessionValid = false;
if (cognitoUser) {
cognitoUser.getSession((err: Error, result: CognitoUserSession) => {
if (!err) {
isSessionValid = result.isValid();
}
});
}
return isSessionValid;
};
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3406 次 |
| 最近记录: |