0004-auth_oidc-add-id-token-as_dict-method-37871.patch
src/authentic2_auth_oidc/utils.py | ||
---|---|---|
76 | 76 | |
77 | 77 |
alg = header.get('alg') |
78 | 78 | |
79 |
if not provider: |
|
80 |
raise JWException( |
|
81 |
'no provider, thus id token %s cannot be parsed' % header) |
|
82 | ||
79 | 83 |
if alg in ('RS256', 'RS384', 'RS512'): |
80 | 84 |
kid = header.get('kid') |
81 | 85 |
if not kid: |
... | ... | |
127 | 131 |
_('Encoded ID Token must be either binary or string data')) |
128 | 132 |
self._encoded = encoded |
129 | 133 | |
134 |
def as_dict(self, provider, raises=False): |
|
135 |
try: |
|
136 |
parsed = parse_id_token(self._encoded, provider) |
|
137 |
except JWException as e: |
|
138 |
if raises: |
|
139 |
raise IDTokenError(e) |
|
140 |
parsed = {} |
|
141 |
return parsed |
|
142 | ||
130 | 143 |
def deserialize(self, provider): |
131 | 144 |
try: |
132 | 145 |
decoded = parse_id_token(self._encoded, provider) |
133 |
- |