【问题标题】:is it possible to change the AWS cognito hosted UI?是否可以更改 AWS cognito 托管 UI?
【发布时间】:2020-05-25 00:40:34
【问题描述】:

我们能否更改 AWS Cognito 托管的 UI HTML? 我创建了自己的登录页面,我想将其用作登录功能的托管 UI。

我尝试了 CSS 自定义,但无法更改 AWS Cognito 托管 UI 的 HTML。我也尝试联系 AWS 支持团队,但没有得到任何回复。

感谢您的帮助?

【问题讨论】:

标签: amazon-web-services amazon-cognito aws-userpools


【解决方案1】:

如果您想要的不仅仅是 CSS 自定义,您还必须托管您自己的登录页面。 Cognito 很难让您替换或注入自己的 HTML,因为登录页面是 quite complicated:

Cognito 托管 UI 不仅仅是一个 UI。它是一个成熟的 OAuth 服务器,由 Cognito API 提供支持。

如果您真的想这样做,您可以在某处托管您的登录页面(考虑S3 static website)。确保它正确实现了您的desired auth flow,并让它在成功的身份验证后重定向到您的站点,就像 Cognito 一样。

【讨论】:

    【解决方案2】:

    我相信可以使用 amplify SDK 自定义 Cognito UI 周围的页面元素,但这需要您处理 Cognito 默认已经处理的某些事情。请参阅此处https://docs.amplify.aws/ui/q/framework/react 支持其他几个流行的框架

    【讨论】:

      【解决方案3】:

      如果您使用 Cloudflare,可以尝试使用此应用自定义托管 Cognito UI
      https://www.cloudflare.com/apps/add-html

      为此,您需要拥有自己的 Cognito 域。

      【讨论】:

        【解决方案4】:

        我们在一家公司做的一件事(我们每月的登录次数明显超过一百万)是托管我们自己的 OAuth2 OIDC 服务器并使用(服务器端)Cognito Admin API 作为用户管理系统。

        Admin API 让您可以创建、更新、删除用户以及铸币令牌和所有这些好东西。

        当用户登录我们的自定义登录前端时,我们会将凭据发送到我们的身份服务器,然后它会尝试通过管理 API 使用 Cognito 登录。 Cognito 会发回一个 JWT,我们基本上会扔掉它,然后从我们的身份服务器为用户会话重新发出一个新令牌。

        当您开始尝试管理需要 cognito 令牌而不是令牌的地方重置密码等事情时,这会变得复杂。

        此外,我们发现 Cognito 有许多您无法重新配置的嵌入式功能。我们必须将我们的用户从现有的用户存储迁移到 Cognito,我们决定在用户​​登录时触发迁移。我们这样做是因为我们没有明文的用户密码,只有当他们登录时,如果我们是要自动将所有人转储到 cognito 中,我们将不得不强制所有人重置密码。

        事实证明,Cognito 有一个内置的电子邮件验证系统(发送代码和所有这些) - 很棒,但是当您使用管理 API 并添加一个已经拥有经过验证的电子邮件地址的用户时,它仍然会发送验证电子邮件.

        我们必须设置 lambdas 来拦截电子邮件并检查用户是否具有特定标签。这是一场噩梦。

        无论如何,Auth0 更昂贵但更容易,因为一切都是可定制的。与 Okta 相同。

        【讨论】:

          【解决方案5】:

          实现这一点的更好方法是创建您自己的自定义 UI,将静态内容托管到 S3 存储桶,然后使用 cognito 对其进行配置。

          【讨论】:

            猜你喜欢
            • 2021-09-11
            • 1970-01-01
            • 1970-01-01
            • 2018-02-06
            • 2020-03-19
            • 1970-01-01
            • 2021-04-20
            • 2019-07-19
            • 2018-02-19
            相关资源
            最近更新 更多