如何将 AWS Cognito 与我自己的 Login/MFA/Reset 密码页面一起使用?

How to use AWS Cognito with my own Login/MFA/Reset Password pages?

我正在尝试了解 if/how 我可以将 Cognito 用作 OCID / IdP,但我自己 "skin" 可以使用它。使用 Cognito CSS 定制还远远不够。

更准确地说,我正在尝试构建一个利用 Cognito 的 UserPools、Access/Refresh 令牌、设备 trusting/etc 的 SSO 前端。我对 i18n 和 MFA 的附加身份验证页面有一些特定要求(将使用 Cognito 自定义身份验证流程),但我似乎无法理解如何将这些部分联系在一起。

据我所知,如果我使用 Cognito SDK 构建我的 SSO 前端,那么我基本上是将自己登录到我自己的 SSO 应用程序,但无法在 OCID 流中使用生成的凭据。如果我尝试将我的外部应用程序指向 Cognito,那么我将被迫使用根本不符合我要求的托管 UI。

我该如何着手创建利用 Cognito 的 SSO 应用程序?为此,我是否需要以某种方式使用联合身份?或者 AWS STS(甚至不确定它会如何发挥作用)。我研究了通过 API 网关包装一些 Cognito 调用的想法,但这让我陷入了困境,我基本上是在重写服务器以实现 OAuth2/OCID 规范,这绝对不会感觉。

是否可以使用 Cognito 为我的所有应用程序提供单一 SSO 体验?我不需要支持跨域应用程序,但确实需要支持 SPA、经典的基于会话的服务器 Web 应用程序和本机移动应用程序的解决方案。

你试过 aws amplify lib for react https://aws.github.io/aws-amplify/

据我所知,目前无法在使用 OIDC 流程时创建自定义 Login/MFA/Reset 密码页面。唯一的方法是使用 Cognito 提供的页面,这意味着无法进行重大定制。