【问题标题】:What is the difference b/w AuthFlow ADMIN_NO_SRP_AUTH and ADMIN_USER_PASSWORD_AUTH in CognitoCognito 中 b/w AuthFlow ADMIN_NO_SRP_AUTH 和 ADMIN USER_PASSWORD_AUTH 有什么区别
【发布时间】:2020-07-23 17:32:26
【问题描述】:

我们的登录流程:client->server->cognito

我们正在使用 InitiateAuth() APIUSER_PASSWORD_AUTH AuthFlow。我们将在 Cognito 中启用高级安全性,为此我们将使用带有 IP 地址和指纹数据的 AdminInitiateAuth() API。

您能否建议我哪个 AuthFlow 适合我的场景(我们将 USERNAME、PASSWORD 和 SECRET_HASH 作为 AuthParameters 传递)。

您能否告诉我黑白 ADMIN_NO_SRP_AUTHADMIN_USER_PASSWORD_AUTH AuthFlow 的主要区别?

【问题讨论】:

    标签: amazon-web-services amazon-cognito


    【解决方案1】:

    哪种身份验证流程适合我的方案?

    带有 ADMIN_USER_PASSWORD_AUTH 的 AdminInitiateAuth API 很好,因为您正在执行服务器到服务器身份验证。

    ADMIN_USER_PASSWORD_AUTH 和 ADMIN_NO_SRP_AUTH 身份验证流之间的区别?

    ADMIN_USER_PASSWORD_AUTH 以前称为 ADMIN_NO_SRP_AUTH。


    如果您有服务器端应用程序:

    1. 它调用AdminInitiateAuth API。这需要 AWS 管理员凭证并返回身份验证参数。

    2. 然后它调用AdminRespondToAuthChallenge API,这也需要 AWS 管理员凭证。

    AdminInitiateAuthAdminRespondToAuthChallenge 操作不能接受用于管理员登录的用户名和密码用户凭据,除非您通过执行以下操作之一明确启用它们:

    • ADMIN_USER_PASSWORD_AUTH(以前称为 ADMIN_NO_SRP_AUTH) 传递给您的服务器端应用程序对 CreateUserPoolClientUpdateUserPoolClient 的调用中的 ExplicitAuthFlow 参数。

    • 创建用户池应用客户端标签中选择Enable sign-in API for server-based authentication (ADMIN_USER_PASSWORD_AUTH)

    Server-Side Auth Flow — Cognito 文档

    例子:

    AdminInitiateAuth Request {
        "AuthFlow": "ADMIN_USER_PASSWORD_AUTH",
        "AuthParameters": {
            "USERNAME": "<username>",
            "PASSWORD": "<password>"
        },
        "ClientId": "<clientId>",
        "UserPoolId": "<userPoolId>"
    }
    

    Admin Auth Flow — Cognito 文档

    【讨论】:

      【解决方案2】:

      没有区别。 ADMIN_USER_PASSWORD_AUTH 以前称为 ADMIN_NO_SRP_AUTH。有关身份验证流程的详细信息,请查看User Pool Authentication Flow

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2017-04-24
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多