如何最好地构建用于服务器端应用程序的自定义 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
EXPERT
asked 6 months ago22 views
1 Answer
0

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

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

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

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

profile picture
EXPERT
answered 6 months ago

You are not logged in. Log in to post an answer.

A good answer clearly answers the question and provides constructive feedback and encourages professional growth in the question asker.

Guidelines for Answering Questions