diff --git a/src/oidcservice/oidc/provider_info_discovery.py b/src/oidcservice/oidc/provider_info_discovery.py index ace4da9..a735a19 100644 --- a/src/oidcservice/oidc/provider_info_discovery.py +++ b/src/oidcservice/oidc/provider_info_discovery.py @@ -103,6 +103,7 @@ def match_preferences(self, pcr=None, issuer=None): """ if not pcr: + # OP capabilities here pcr = self.service_context.get('provider_info') regreq = oidc.RegistrationRequest @@ -137,7 +138,10 @@ def match_preferences(self, pcr=None, issuer=None): except KeyError: # Allow non standard claims if isinstance(vals, list): - _behaviour[_pref] = [v for v in vals if v in _pvals] + # "if v in _pvals" would be adopted + # a RP relying on oidcService will discard those + # who not are available in op's provider discovery endpoint + _behaviour[_pref] = [v for v in vals] # if v in _pvals] elif vals in _pvals: _behaviour[_pref] = vals else: