使用AWS re:Post即您表示您同意 AWS re:Post 使用条款

如何最好地构建用于服务器端应用程序的自定义 Cognito 登录页面?

0

【以下的问题经过翻译处理】 客户有一个问题,如何最好地构建用于服务器端应用程序的自定义登录页面?

注意:“Chorus”是客户内部应用程序的名称,他们正在将其修改为用户 Cognito 以进行身份​​验证。

我在身份方面没有太多经验,因此没有足够的能力回答这个问题。

我可以给客户指出,但我觉得这很轻: https://docs.aws.amazon.com/cognito/latest/developerguide/amazon-cognito-user-pools-authentication-flow.html#amazon-cognito-user-pools-server-side-authentication-flow

“开发人员认证身份”是答案的一部分吗? https://docs.aws.amazon.com/cognito/latest/developerguide/developer-authenticated-identities.html https://github.com/aws-samples/amazon-cognito-developer-authentication-sample

上面的 github 示例是移动的,尽管客户将构建一个 Web 应用程序(尚不确定后端,但可能是标准之一,例如 JS、ruby 等)。

profile picture
专家
已提问 1 年前37 查看次数
1 回答
0

【以下的回答经过翻译处理】 第一个澄清点是为什么服务器端认证需要登录页面?服务器端意味着机器对机器的身份验证,因此没有期望最终用户输入的登录表单。

如果是这种情况,则建议使用 客户端凭据身份验证流程方法。在这种情况下,客户端应用程序将使用 app-client id 和 secret 进行身份验证(使用安全的后台通道,在这种情况下没有浏览器),身份验证后,客户端应用程序获取 accessToken 并且客户端应将此访问令牌传递给后端(Chorus)称呼。此令牌不应暴露给最终用户。

您还提到“示例都使用仅客户端流,从而在浏览器中生成令牌”。 OAuth2 有多个身份验证流程,向浏览器返回令牌的是“隐式授予”,除非您不能使用推荐的“授权代码授予”,否则不推荐使用。在授权代码授予中,客户端收到一个代码而不是令牌,该代码可以通过安全的反向通道(而不是浏览器)传递到令牌端点以获取令牌。查看这篇博文,了解有关身份验证流程的更多详细信息。

我认为您可能需要一个 specreq 来讨论客户的用例并获得有关使用哪个身份验证流程以及如何使用的建议。

profile picture
专家
已回答 1 年前

您未登录。 登录 发布回答。

一个好的回答可以清楚地解答问题和提供建设性反馈,并能促进提问者的职业发展。

回答问题的准则