簡體   English   中英

Cognito不會將未經身份驗證的用戶切換到經過身份驗證的用戶

[英]Cognito wont switch unauthenticated user to authenticated user

我正在使用Cognito用戶池和Cognito聯合身份將IAM角色傳遞給經過身份驗證和未經身份驗證的用戶。 當我嘗試將用戶從未經身份驗證的用戶切換為經過身份驗證的用戶時,開發人員控制台不會注冊已發生更改; 顯示我有100%未經身份驗證的用戶。

現在,我將我的AWS客戶端實例化為未經身份驗證的用戶,然后調用一個函數以在憑據可用時更新憑據,以便可以將其切換為經過身份驗證。 例如:

AWS.config.region = 'us-west-2';
AWS.config.credentials = new AWS.CognitoIdentityCredentials({
  IdentityPoolId: identityPoolId,
  region: 'us-west-2',
  Logins: {}
});

const updateCredentials = () => {
  const auth = store.getState().auth; //this gets the authentication credentials from a global store.
  AWS.config.credentials.Logins = {
    'cognito-idp.us-west-2.amazonaws.com/us-west-2_XXXXXXXXX': auth.idToken
  };
  AWS.config.credentials.expired = true;
};

據我所知,這是正確的方法。 請參閱此頁面底部此處此處的文檔。

但是,我的控制台顯示我沒有經過身份驗證的用戶,因此updateCredentials不會將用戶切換到經過身份驗證的用戶。 如何解決這個問題?

最后調用AWS.config.credentials.get(()....)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM