是否可以从令牌创建Auth会话?

时间:2020-04-27 11:41:45

标签: reactjs aws-amplify

我是AWS领域的新手,尝试从Cognito令牌创建和认证会话时遇到问题。我想使用Auth,因为我知道它会自动刷新访问令牌。

我们有一个对等站点,用户可以在该站点登录,然后他们可以移动到我们的站点。我们从对等站点接收用户的AWS Cognito令牌(访问,ID和刷新),并且我们希望使用这些令牌来授权REST API调用。

我计划使用AWS-Amplify:Auth.currentSession()。但是为此,我们需要根据令牌创建会话。

我尝试执行以下操作:

access_token = ''//the access token value  
id_token= '' //the id token
refresh_token = '' //the refresh token

AuthConfig = {
   region: '', //the region value
   userPoolId: '', //the user pool id value
   clientId: '', //the client id value
   userPoolWebClientId: '' //the user pool web client id value
};

amplify = Amplify.configure({
   Auth: this.AuthConfig
});

localSession = new CognitoUserSession({
      IdToken: new CognitoIdToken({ IdToken: this.id_token }),
      RefreshToken: new CognitoRefreshToken({ RefreshToken: this.refresh_token }),
      AccessToken: new CognitoAccessToken({ AccessToken: this.access_token }),
});

async t()
{    
    Auth.currentCredentials = async () => this.localSession;
    try 
    {     

      Auth.currentSession().then(function(session) {
        console.log(JSON.stringify(session))
      }, function(err) {
        console.log(err)
      })      
    }
    catch (ex)
    {
        console.warn(`Exception: ${ex}`);
    }
}

但是我有一个例外:“没有当前用户”。

如何从令牌创建会话?

0 个答案:

没有答案