AWS Cognito - createIdentityPool - 从哪里获取ProviderName和ClientId?

时间:2017-05-16 13:41:38

标签: amazon-web-services aws-sdk amazon-cognito

我试图在我的应用程序中使用AWS Cognito来帮助支持多租户。

https://aws.amazon.com/blogs/apn/managing-saas-users-with-amazon-cognito/

  

配置用户池

     

假设您要将单个用户池与每个租户关联,   您需要引入可以创建的配置自动化   注册过程中租户的用户池。这也是   需要自动化来配置所有其他运动部件   Amazon Cognito声明用户池并将其与另一个用户池关联   Amazon Cognito构造和安全策略。

     

这里的基本步骤是首先为其创建一个用户池   租户并应用任何特定于租户的自定义或策略(这些   所有租户通常都是一样的)。然后,你需要你的   自动化以供应和配置标识池。最后,你   必须将标识池与新创建的用户池关联。   这个过程比这更复杂,但这些是关键   在考虑如何添加此概念时,您需要记住这些概念   自动化到您的租户创建生命周期。

     

AWS提供了一系列可用于实施您的API的API   供应自动化模型。这些API可用于多个   不同的语言和环境。

到目前为止,我已经能够使用SDK创建了许多点点滴滴,但我正在努力createIdentityPool ()专门CognitoIdentityProviders 文档指出CognitoIdentityProviders应包含...

  

ProviderName - (字符串)Amazon Cognito的提供程序名称   身份用户池。例如,   的 cognito-idp.us-east-1.amazonaws.com/us-east-1_123456789

     

ClientId - (字符串)Amazon Cognito Identity User的客户端ID   池。

     

ServerSideTokenCheck - (Boolean)如果服务器端令牌验证,则为TRUE   已为身份提供者的令牌启用。

我应该从哪里获取ProviderNameClientId

我有vars持有createUserPool()createUserPoolClient()返回的值,但无法看到其中的任何内容。

任何帮助表示感谢。

1 个答案:

答案 0 :(得分:2)

ClientId只是您客户的唯一标识符。 ProviderName是上述格式的常量字符串,只需在适当的位置插入区域和用户池ID。

最简单的方法是通过Cognito联合身份控制台。它只接受用户池ID和客户端ID,您可以在Cognito用户池控制台中创建它们。

如果必须从SDK创建标识池,您只需从Cognito用户池控制台获取这些值即可。只需寻找有问题的游泳池和客户。

如果使用控制台是不可能的,您可以调用ListUserPools和ListUserPoolClients来获取正确的ID。