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

时间:2019-04-11 14:49:19

标签: angular amazon-cognito okta

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

我已执行these个步骤,以成功地“将Okta设置为具有Amazon Cognito用户池的SAML身份提供者”。我的Angular应用程序现在重定向到Cognito的托管UI,以登录用户,然后依次重定向到Okta,用户在此输入凭据。成功登录后,控件将使用URL中的ID和访问令牌返回到我的应用。

我已经看到this个问题,但它也谈到了将用户重定向到IdP登录页面。

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

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

1 个答案:

答案 0 :(得分:0)

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

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