2017-02-06 14 views
0

OpenID Connectと 5.3.0を含む小規模な概念実証の実装に取り​​組んでいます。WSO2 Identity Server上のOpenID Connectディスカバリと発行者の不一致

クライアント側では、発見メカニズムを動作させるために、oicライブラリを使用してPythonを使用しています。私はoic documentationに基づいて、次のコードを実行している:

from oic.oic import Client 

oic_client = Client(verify_ssl=False) 

uid = "[email protected]" 
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()ステップが返すということですissuerの値はhttps://172.22.0.2:443/oauth2/oidcdiscoveryですが、その後のprovider_config()のステップでは、発行者の値がhttps://172.22.0.2:443/oauth2/tokenの文書が返されます。

oicライブラリがOpenID Connect Discovery specification状態は、プロバイダのメタデータ(強調鉱山)で提示issuer値については、次のよう、エラーとしてこの不一致を報告して正しいと思わ:私の質問、そう

REQUIRED. URL using the https scheme with no query or fragment component that the OP asserts as its Issuer Identifier. If Issuer discovery is supported (see Section 2), this value MUST be identical to the issuer value returned by WebFinger. This also MUST be identical to the iss Claim value in ID Tokens issued from this Issuer.

以下れる:

  1. は、私は(少なくともデフォルトの設定で)WSO2アイデンティティServerは、少なくとも限り発見はconcerneあるとして、OpenIDの接続仕様に準拠して動作しないという結論に修正アムd?
  2. 仕様に準拠するようにWSO2 Identity Serverを構成できますか。私はOIDCDiscoveryEPUrlIDTokenIssuerIDのさまざまな組み合わせをidentity.xmlファイルに指定しようとしましたが、これまでのところ運がありません。今の

oicソースコードを読んだ後、私は、発行者の不一致を無視するには、以下の回避策を使用しています:

oic_client.allow["issuer_mismatch"] = True 

私はでしょう、しかし、多くはで解決策を見つけることを好みますWSO2 Identity Serverは仕様に従って動作するように作られています。

答えて

関連する問題