簡體   English   中英

如何發出經過身份驗證的 Cognito 請求

[英]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.

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