我试图在我的应用程序中使用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 已为身份提供者的令牌启用。
我应该从哪里获取ProviderName
和ClientId
?
我有vars持有createUserPool()
和createUserPoolClient()
返回的值,但无法看到其中的任何内容。
任何帮助表示感谢。
答案 0 :(得分:2)
ClientId只是您客户的唯一标识符。 ProviderName是上述格式的常量字符串,只需在适当的位置插入区域和用户池ID。
最简单的方法是通过Cognito联合身份控制台。它只接受用户池ID和客户端ID,您可以在Cognito用户池控制台中创建它们。
如果必须从SDK创建标识池,您只需从Cognito用户池控制台获取这些值即可。只需寻找有问题的游泳池和客户。
如果使用控制台是不可能的,您可以调用ListUserPools和ListUserPoolClients来获取正确的ID。