【问题标题】:AWS Cognito: Developer Authenticated IdentitiesAWS Cognito:开发人员身份验证
【发布时间】:2016-06-18 13:03:33
【问题描述】:

这些是我为从 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 等)?我可以看到在我的控制台中创建了身份,但之后我就迷路了。

【问题讨论】:

    标签: ruby amazon-web-services amazon-cognito


    【解决方案1】:

    您能否在身份验证提供程序部分的自定义选项卡的身份池配置中检查您是否设置了开发人员提供程序名称,并且它与您上面代码中的值匹配?这可能是错误的一个可能原因。

    回答您的其他问题。您无需实现开发人员身份验证即可使用 Cognito 的“用户池”功能。这是两个独立的特征。 Cognito 开发人员身份验证身份允许您将自己的身份验证系统与 Cognito 身份联合。如果您希望 Cognito 管理您的用户并允许基于用户名和密码的注册、登录和 MFA,“用户池”功能将是正确的选择。由用户池管理的用户也可以与 Cognito 身份联合。

    【讨论】:

    • 谢谢,我做到了。我所要做的就是用 cognito-identity.amazonaws.com 替换 get_credentials_for_identity() 中的 developerProviderName 键。不过,我有一个关于用户的问题,请您帮我解答一下吗?
    • 另外,我已经修改了代码以反映它。 ruby 示例为零,因此这可能对某人有所帮助。
    • 好的,谢谢。您还可以将原始错误消息保留在问题中,以便对遇到相同问题的人有用。目前没有用于用户池的 ruby​​ sdk。但它适用于 android、iOS 和 javascript。
    猜你喜欢
    • 2015-04-15
    • 1970-01-01
    • 2014-12-05
    • 2016-06-29
    • 2015-05-10
    • 2015-01-05
    • 2015-11-05
    • 1970-01-01
    • 2018-05-17
    相关资源
    最近更新 更多