AWS Amplify+React身份验证问题(在Sign上Auth.signIn()后未获得JWT值)



希望大家都很好。我正在做一个React项目,在AWS Amplify中有一个无服务器后端。面临身份验证问题,该问题阻止我使用管理操作查询。问题如下:

我得到了";未捕获(承诺中(没有当前用户";或";未捕获(承诺(用户未通过身份验证";在使用Auth。SignIn((方法。我需要从Auth.currentAuthenticatedUser((中获取JWT值并正确登录,以便执行管理任务(需要身份验证(。

其代码为:

try {
const user = await Auth.signIn(username, password);
console.log(user); //prints the CognitoUser object.
console.log(Auth.currentAuthenticatedUser()); //throws any of the two errors mentioned above.
} catch (error) {
console.log(error);
}

当我之前实现这一点时,我能够在身份验证后使用以下方法获得JWT令牌。该功能是:

export const getJWT = async () => {
try{
const userCurrentSession = await Auth.currentSession();
const accessToken = userCurrentSession.getAccessToken();
const JWTvalue = accessToken.getJwtToken();
return JWTvalue;
}catch(error){console.log(error)}
};

如果有人帮忙解决这个问题,我将不胜感激。提前谢谢。

用以下内容替换try块内部的行:

const user = await Auth.currentAuthenticatedUser();
const JWTvalue = user.signInUserSession.getAccessToken().getJwtToken();
return JWTvalue;

相关内容

  • 没有找到相关文章

最新更新