【问题标题】:AWS Cognito OIDC provider PKCEAWS Cognito OIDC 提供商 PKCE
【发布时间】:2021-09-23 09:05:49
【问题描述】:

我有一个使用 Cognito 进行身份验证的 Amplify 应用程序。我需要允许用户通过第三方登录。我已将它们设置为 Cognito 中的 OIDC 身份提供者。但是,该第三方仅支持使用 PKCE 的代码授权流程,并且 Cognito 向 OIDC 提供者发出的请求不是使用 PKCE 发出的(未发送 code_challenge 参数)。

查看 OIDC 提供商和 Cognito 应用程序客户端的设置,我找不到启用此功能的方法。是否可以让 Cognito 向 PKCE 提出此请求?

【问题讨论】:

    标签: amazon-cognito openid-connect pkce


    【解决方案1】:

    我很确定不幸的是:

    • Cognito 支持对来自客户端的直接请求进行 PKCE

    • 但我认为它不适用于与其他身份提供者的联合连接

    从逻辑上讲,这应该以下列方式之一起作用:

    • Cognito 可以提供它作为您可以为身份提供者切换的设置

    • 或者 Cognito 可以从 code_challenge_methids_supported 元数据参数派生它

    • 目标 IDP 可能应该支持没有 PKCE 的经典 OIDC 消息,以便成为合规的 OIDC 提供者 - 这可能是您最好的选择

    我不久前使用 Okta 作为 Cognito 的 IDP - Okta 返回上述元数据字段 - 但 Cognito 没有使用 PKCE - 请参阅第 5 步后的 Federated OpenID Connect Messages 部分。

    【讨论】:

      猜你喜欢
      • 2020-08-14
      • 2020-09-30
      • 2019-03-23
      • 1970-01-01
      • 1970-01-01
      • 2020-05-23
      • 2020-04-25
      • 2020-07-06
      • 2019-03-30
      相关资源
      最近更新 更多