![](/img/trans.png)
[英]How to display group of a user authenticated using Cognito using React?
[英]How to make authenticated Cognito request
我可以成功地為 Cognito 身份池運行describeIdentityPool
命令,並啟用“啟用對未經身份驗證的身份的訪問”:
var AWS = require("aws-sdk");
let cognitoidentity = new AWS.CognitoIdentity();
var params = {IdentityPoolId: "myIdentityPoolID"};
cognitoidentity.describeIdentityPool(params, function(err, data) {
if (err) {
console.log(err, err.stack);
}
else {
console.log( "...getCredentials.describeIdentityPool.data:", data);
}
});
但是,如果我禁用“啟用對未經身份驗證的身份的訪問”復選框,我會收到錯誤消息:
NotAuthorizedException: Unauthenticated access is not supported for this identity pool.
有沒有辦法授權我向 Cognito 身份池發出的請求以避免此錯誤?
這是完全可以預料的。 AWS 上的幾乎所有 API 都需要訪問密鑰 ID 和秘密訪問密鑰。 describeIdentityPool
API 就是其中之一。
如果您為未經身份驗證的用戶啟用訪問權限,他們會收到允許他們執行該操作的臨時憑據。 默認允許的操作之一是cognito-identity:*
。 這是允許未經身份驗證的用戶調用此 API 的方法。 您將能夠在分配給“未經身份驗證的身份”設置的角色中找到它。
當您禁用未經身份驗證的實體時,它們不再接收臨時憑據,因此無法調用該 API。
長話短說:按預期工作。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.