diff --git a/src/idpyoidc/__init__.py b/src/idpyoidc/__init__.py index cf0971e9..0b77ba88 100644 --- a/src/idpyoidc/__init__.py +++ b/src/idpyoidc/__init__.py @@ -1,5 +1,5 @@ __author__ = "Roland Hedberg" -__version__ = "4.0.0" +__version__ = "4.1.0" VERIFIED_CLAIM_PREFIX = "__verified" diff --git a/src/idpyoidc/client/claims/transform.py b/src/idpyoidc/client/claims/transform.py index ac63b2c8..1ca40c6c 100644 --- a/src/idpyoidc/client/claims/transform.py +++ b/src/idpyoidc/client/claims/transform.py @@ -62,11 +62,16 @@ def supported_to_preferred( _pref_val = preference.get(key) # defined in configuration _info_val = info.get(key) if _info_val: - # Only use provider setting if less or equal to what I support - if key.endswith("supported"): # list - preference[key] = [x for x in _pref_val if x in _info_val] + if isinstance(_info_val, bool): + if _info_val is False and _pref_val is True: + # Turn off support if server doesn't support + preference[key] = _info_val else: - pass + # Only use provider setting if less or equal to what I support + if key.endswith("supported"): # list + preference[key] = [x for x in _pref_val if x in _info_val] + else: + pass elif val is None: # No default, means the RP does not have a preference # if key not in ['jwks_uri', 'jwks']: pass