我们可以更改 AWS Cognito 托管的 UI HTML 吗?我创建了自己的登录页面,我想将其用作登录功能的托管 UI。
我已尝试进行 CSS 自定义,但无法更改 AWS Cognito 托管 UI 的 HTML。我也尝试联系 AWS 支持团队,但没有得到任何回复。
感谢帮助?
我们可以更改 AWS Cognito 托管的 UI HTML 吗?我创建了自己的登录页面,我想将其用作登录功能的托管 UI。
我已尝试进行 CSS 自定义,但无法更改 AWS Cognito 托管 UI 的 HTML。我也尝试联系 AWS 支持团队,但没有得到任何回复。
感谢帮助?
如果您使用 Cloudflare,您可以尝试使用此应用程序自定义托管的 Cognito UI。
https://www.cloudflare.com/apps/add-html
为此,您需要拥有自己的 Cognito 域。
我们在一家公司做的一件事(我们每月的登录次数明显超过一百万)是托管我们自己的 OAuth2 OIDC 服务器并使用(服务器端)Cognito Admin API 作为用户管理系统。
Admin API 允许您创建、更新、删除用户以及铸币代币和所有这些好东西。
当用户登录我们的自定义登录前端时,我们会将凭据发送到我们的身份服务器,然后它会尝试通过管理 API 使用 Cognito 登录。Cognito 会发回一个 JWT,我们基本上会把它扔掉,然后从我们的身份服务器为用户会话重新发出一个新令牌。
当您开始尝试管理需要 cognito 令牌而不是令牌的地方重置密码等事情时,这会变得复杂。
此外,我们发现 Cognito 有很多无法重新配置的嵌入式功能。我们必须将我们的用户从现有的用户存储迁移到 Cognito,我们决定在用户登录时触发迁移。我们这样做是因为我们没有明文的用户密码,只有当他们登录时,如果我们是要自动将每个人转储到 cognito,我们将不得不强制每个人重置密码。
事实证明,Cognito 有一个内置的电子邮件验证系统(发送代码和所有这些) - 很棒,但是当您使用管理 API 并添加一个已经拥有经过验证的电子邮件地址的用户时,它仍然会发送验证电子邮件。
我们必须设置 lambdas 来拦截电子邮件并检查用户是否具有特定标签。这是一场噩梦。
无论如何,Auth0 更昂贵但更容易,因为一切都是可定制的。和奥克塔一样。
我相信可以使用 amplify SDK 自定义 Cognito UI 周围的页面元素,但这需要您处理 Cognito 默认已经处理的某些事情。请参阅此处https://docs.amplify.aws/ui/q/framework/react支持其他几个流行的框架
实现这一点的更好方法是创建您自己的自定义 UI,将静态内容托管到 S3 存储桶,然后使用 cognito 对其进行配置。