angular - 以编程方式登录到 Cognito 中配置为 SAML 身份提供商的 Okta

标签 angular amazon-cognito okta

如何在自定义登录页面中通过 Cognito 对 Okta 用户进行身份验证,即无需将用户重定向到 Cognito 的托管 UI?

我已经执行了these成功“将 Okta 设置为具有 Amazon Cognito 用户池的 SAML 身份提供商”的步骤。我的 Angular 应用程序现在重定向到 Cognito 的托管 UI 以让用户登录,该 UI 又重定向到用户输入凭据的 Okta。成功登录后,控制权将返回到我的应用程序,并在 URL 中包含 ID 和访问 token 。

我见过this问题,但它也讨论了将用户重定向到 IdP 登录页面。

我正在寻找类似 this 的代码或this但我需要提供 Okta 用户的凭据,而不是提供 Cognito 用户的用户名和密码。

期望的结果是拥有与 this 完全相同的登录行为,其中用户永远不会离开应用程序。唯一的区别是用户输入的凭据存储在 Okta 中,而不是 Cognito 中。

最佳答案

当您有第三方提供商作为 Amazon Cognito 的身份提供商时,第三方端的身份验证将仅由第三方处理,Cognito 只会重定向到第三方,并与 IdP 进行握手过程。成功握手和验证后,Cognito 返回 JWT token 。

但是,Cognito 永远无法访问第三方输入的凭据/详细信息,以提高身份验证引擎的安全性。因此,您无法通过 API 调用输入 IdP 凭据来登录 Cognito 用户池,因为这本质上会破坏 Cognito 的安全性。

关于angular - 以编程方式登录到 Cognito 中配置为 SAML 身份提供商的 Okta,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55635409/

相关文章:

node.js - 如何在 prod 服务器上部署具有服务器端渲染的 Angular 4 应用程序

使用 AWS Cognito 进行 R Shiny 身份验证

openid - Okta 是否支持 openid connect (OIDC) 注销?

javascript - 未定义的属性 'length' - React 教程

javascript - 如何防止通过单击 mat-expansion-panel-header 来切换 mat-expansion-panel?

javascript - 使用 Angular Material ToolTip 但无法选择其下方元素上的文本

amazon-web-services - AWS CloudFormation 脚本失败 - Cognito 不允许使用您的电子邮件身份

amazon-web-services - 基于 Cognito 凭证为 Lambda 提供对 DynamoDB 的细粒度访问

command-line - 身份验证 : How to configure git bash to use SAML authentication?

javascript - rollup.JS 和 "' 这个关键字相当于 'undefined'