diff --git a/src/authentic2_auth_oidc/utils.py b/src/authentic2_auth_oidc/utils.py index 26ef45708..898deb99f 100644 --- a/src/authentic2_auth_oidc/utils.py +++ b/src/authentic2_auth_oidc/utils.py @@ -127,6 +127,15 @@ class IDToken(object): _('Encoded ID Token must be either binary or string data')) self._encoded = encoded + def as_dict(self, provider, raises=False): + try: + parsed = parse_id_token(self._encoded, provider) + except JWException as e: + if raises: + raise IDTokenError(e) + parsed = {} + return parsed + def deserialize(self, provider): try: decoded = parse_id_token(self._encoded, provider)