这些是我为从AWS Cognito获取访问令牌而进行的调用。我正在实施Developer Authenticated Identities workflow 我在后端验证用户的位置。我的代码:
cognitoIndentityClient = Aws::CognitoIdentity::Client.new(
region: 'us-east-1',
credentials: permanent_aws_creds,
)
developerProviderName = '1.Got From Developer Provider Name under Custom in Cognito Console'
identityPoolId = 'us-east-1:Xxxxx'
resp = cognitoIndentityClient.get_open_id_token_for_developer_identity(
identity_pool_id: identityPoolId,
logins: {
developerProviderName => UniqueIdentityTokenProviderFromMYBackend
}
)
resp2 = cognitoIndentityClient.get_credentials_for_identity(
{
identity_id: resp['identity_id'],
logins: {
'cognito-identity.amazonaws.com' => resp['token']
}
}
)
我的问题: 1.如何在上述调用后在用户池中创建用户(启用MFA及所有这些)?我可以看到在我的控制台中创建了身份,但在那之后我就失去了。
答案 0 :(得分:0)
您是否可以在身份验证提供程序部分的自定义选项卡中检查身份池配置中是否设置了开发人员提供程序名称,并且它与上面代码中的值匹配?这可能是导致错误的一个可能原因。
回答你的其他问题。您无需实施开发人员身份验证身份即可使用'用户池' Cognito的特征。这是两个独立的功能。 Cognito开发人员身份验证身份允许您将自己的身份验证系统与Cognito身份联合。如果您希望Cognito管理您的用户并允许基于用户名和密码的注册,登录和MFA,那么用户池'功能将是正确的选择。用户池管理的用户也可以与Cognito身份联合。