首页 文章

AWS:在没有JS SDK的情况下为DynamoDB获取有限的IAM凭据

提问于
浏览
1

我想要实现的目标:
aws cognito dynamodb limited iam http call from browser to the database

我在this article中描述了我的情况,但我不想在我的网页上使用SDK - 我希望保持我的应用程序简单快速,但事实证明 - 很难找到一个不使用SDK的示例 . 我难以接受http调用,我需要从中获取DynamoDB的有限IAM凭据 . 在我对文档的调查中,我找到了方法GetCredentialsForIdentity,描述:

返回提供的身份标识的凭据 . 任何提供的登录都将针对支持的登录提供程序进行验证 . 如果令牌用于cognito-identity.amazonaws.com,则会将其传递给具有令牌的适当角色的AWS Security Token Service .

但是在这个页面上没有提到该 endpoints 的url . 我试过了
https://cognito-idp.us-east-1.amazonaws.com
https://cognito-identity.us-east-1.amazonaws.com
https://<mydomain>.auth.us-east-1.amazoncognito.com

我现在得到400错误,可能是因为 endpoints 网址不正确 . 我目前的代码:

fetch('https://cognito-identity.us-east-1.amazonaws.com', {
  'method': 'POST',
  'headers': {
    'Content-Type': 'application/x-amz-json-1.1',
    'X-Amz-Target': 'AWSCognitoIdentityService.GetCredentialsForIdentity',
   },
   'body': '{"IdentityId": "us-east-1:<GUID of the user>"}'
});

1)什么是http endpoints ?
2)我正朝着正确的方向挖掘?

1 回答

  • 0

    正确的终点是
    https://cognito-identity.us-east-1.amazonaws.com
    according to this page .

    另外,我发现我需要提供 sub 来自 id_token ,但首先是GetId的用户 .

相关问题