【问题标题】:Issuer mismatch with OpenID Connect discovery on WSO2 Identity Server颁发者与 WSO2 身份服务器上的 OpenID Connect 发现不匹配
【发布时间】:2017-06-22 23:38:07
【问题描述】:

我正在做一个涉及OpenID ConnectWSO2 Identity Server 5.3.0 的小型概念验证实现。

在客户端,我使用带有oic 库的python 来尝试使发现机制工作。我正在执行以下代码,基于oic documentation:

from oic.oic import Client

oic_client = Client(verify_ssl=False)

uid = "admin@172.22.0.2"
issuer = oic_client.discover(uid)
provider_info = oic_client.provider_config(issuer)

这会导致以下错误:

oic.exception.IssuerMismatch: 'https://172.22.0.2:443/oauth2/oidcdiscovery' != 'https://172.22.0.2:443/oauth2/token'

这里的问题是,在默认配置下,discover() 步骤将返回 issuerhttps://172.22.0.2:443/oauth2/oidcdiscovery,但随后的 provider_config() 步骤将返回包含发行者值 https://172.22.0.2:443/oauth2/token 的文档。

oic 库将这种不匹配报告为错误似乎是正确的,因为OpenID Connect Discovery specification 声明了以下关于提供程序元数据中提供的issuer 值(强调我的):

必填。使用 https 方案的 URL 没有查询或 OP 断言为其颁发者标识符的片段组件。如果 支持颁发者发现(参见第 2 节),该值必须是 与 WebFinger 返回的颁发者值相同。这也必须 与从此发布的 ID 令牌中的 iss 声明值相同 发行人。

所以,我的问题如下:

  1. 我的结论是否正确(至少在默认配置下)WSO2 Identity Server 的行为不符合 OpenID Connect 规范,至少就发现而言?
  2. 是否可以以符合规范的方式配置 WSO2 身份服务器?我尝试在identity.xml 文件中指定OIDCDiscoveryEPUrlIDTokenIssuerID 的各种组合,但到目前为止还没有成功。

目前,在阅读了oic 源代码后,我正在使用以下解决方法来忽略颁发者不匹配:

oic_client.allow["issuer_mismatch"] = True

不过,我更愿意找到一种解决方案,让 WSO2 身份服务器按照规范运行。

【问题讨论】:

    标签: python wso2is openid-connect


    【解决方案1】:

    我通过将 identity.xml 的 IDTokenIssuerID 设置为发现 url(https://172.22.0.2:443/oauth2/oidcdiscovery 和你的一样)来解决这个问题。但最终在 idtoken 的 iss 字段中遇到了另一个不匹配的情况,它始终为“https://localhost:9443/oauth2/token”,并且预计也是 OIDC 规范的发现 url。

    【讨论】:

    • 您解决了这个问题吗?我也面临同样的问题。
    • 转到居民身份提供者 > 入站身份验证配置 > IS 管理控制台的 OAuth2/OpenID 连接配置并将“身份提供者实体 ID”更新为 https://:/oauth2 /oidcdiscovery/.well-known/openid-configuration
    【解决方案2】:

    我观察到以下问题并能够通过更改位于 WSO2-IS 管理控制台->身份提供者->驻留->入站身份验证配置中的常驻 身份提供者实体 ID 来解决OAuth2/OpenID 连接配置。检查主机名和端口,并根据 IDP 配置进行更改。

    这解决了我的

    错误 - Util 发行者不匹配,
    预期 https://localhost:9444/oauth2/token
    得到 https://localhost:9443/oauth2/token

    【讨论】:

      猜你喜欢
      • 2016-12-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-02-25
      相关资源
      最近更新 更多