首页 > 解决方案 > 通过 Amplify [Okta] 向 Cognito Federated Identiy 传递代码挑战

问题描述

我将 Cognito 用户池与联合身份集成 [ Okta - 作为安全 Web 身份验证]。该流程适用于没有PKCE 的授权代码流程(使用 Amplify 和 Angular)。

创建了一个与 SPA(在 Okta 中)类似的应用程序,以启用 PKCE 并与 Cognito 联合身份集成。当我们重定向到托管 UI 时,挑战将通过 URL 传递给托管 UI。

Cognito 托管 UI URL 挑战

但是在它重定向到 okta 之后,它会抛出这个错误。

当令牌端点身份验证方法为“无”时,需要 pkce 代码质询

Cognito 中是否需要任何其他配置才能将代码挑战传递给 Okta。

我在 Cognito 和 Okta 中使用授权码流。

在 Okta 中附加配置。 登录重定向的 Okta 配置

在 Cognito 中附加配置 认知配置

标签: amazon-cognitoaws-amplifyoktafederated-identitypkce

解决方案


我的理解有误。Cognito 和 Okta之间的通信是服务到服务调用,它应该作为客户端凭证大流程执行。我们没有在 Okta 中启用 PKCE。

为客户端(Web 或移动应用程序)启用 PKCE 以进行服务身份验证。

当我们在没有客户端秘密的情况下创建 App Client 时,Amplify 在前端启用 PKCE。


推荐阅读