【发布时间】:2015-09-01 22:22:15
【问题描述】:
因此,我对 Cognito 上的 Amazon 文档关于他们陈述的用例之一感到有些困惑:“使用您自己的身份系统......允许您的应用程序将数据保存到 AWS 云”。
在我的情况下,我想给他们 aws 令牌以从移动客户端直接上传到 s3,而无需将我的 aws 密钥放在客户端设备上。
为了在服务器端实现这一点 - 我如何生成正确的凭据,以便客户端可以在客户端应用程序上使用此身份上传到 s3?
我先打电话吗
getId()(如果我使用自己的登录名,我会传递哪些值 - 因为我没有提供 facebook 或 twitter ID?如何传递我自己的数据库生成的用户 ID?
AWS.CognitoIdentity.getCredentialsForIdentity() congito API 中的方法...或者我必须新建一个 AWS.CognitoIdentity?
任何链接到一个很好的例子?我在文档本身中找不到任何完整的示例。
例如,亚马逊在他们的文档中说
var identityId = AWS.config.credentials.identityId;
立即为您的最终用户检索一个身份标识,但是看着它,它似乎是一个属性,而不是一个 id 工厂。它如何生成唯一 ID,或者我的所有用户都共享一个身份 ID?是否有某种我可以从中派生的凭据,然后我可以将其传递给我的移动客户端以获取对 s3 的上传权限?
我还阅读了一些有关 AWS STS 服务的信息 - 这是使用 Cognito 的替代方法吗?
【问题讨论】:
-
我对您的要求并不完全清楚:您 (1) 是否希望用户登录到您自己的后端身份验证服务?或者 (2) 您是否希望用户无需登录,但仍能够上传到 S3(无需嵌入您的 AWS 凭证)?
标签: amazon-web-services amazon-cognito