1

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

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

感谢帮助?

4

5 回答 5

1

如果您想要的不仅仅是 CSS 自定义,您还必须拥有自己的登录页面。Cognito 很难让您替换或注入自己的 HTML,因为登录页面非常复杂

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

如果您真的想这样做,您可以在某处托管您的登录页面(考虑一个S3 静态网站)。确保它正确实现了您所需的身份验证流程,并像 Cognito 一样在成功的身份验证后将其重定向到您的站点。

于 2020-02-09T16:03:01.257 回答
0

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

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

于 2021-08-13T23:07:27.933 回答
0

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

Admin API 允许您创建、更新、删除用户以及铸币代币和所有这些好东西。

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

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

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

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

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

无论如何,Auth0 更昂贵但更容易,因为一切都是可定制的。和奥克塔一样。

于 2021-09-25T00:40:20.187 回答
0

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

于 2021-01-26T17:52:39.323 回答
-1

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

于 2020-02-09T20:21:16.900 回答