![](/img/trans.png)
[英]AWS - JavaScript - CRUD operations on DynamoDB with authenticated Cognito user
[英]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.