Skip to content
This repository was archived by the owner on Jun 12, 2021. It is now read-only.

Commit dff94e4

Browse files
committed
bugfixes
1 parent a3ea7e2 commit dff94e4

2 files changed

Lines changed: 20 additions & 13 deletions

File tree

src/oidcendpoint/oidc/authorization.py

Lines changed: 18 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -71,7 +71,7 @@ def inputs(form_args):
7171

7272
def max_age(request):
7373
cn = verified_claim_name("request")
74-
return request[cn].get("max_age") or request.get("max_age", 0)
74+
return request.get(cn, {}).get("max_age") or request.get("max_age", 0)
7575

7676

7777
def re_authenticate(request, authn):
@@ -83,12 +83,14 @@ def re_authenticate(request, authn):
8383

8484

8585
def acr_claims(request):
86-
if "id_token" in request["claims"]:
86+
if request["claims"].get("id_token"):
8787
acrdef = request["claims"]["id_token"].get("acr")
8888

8989
if isinstance(acrdef, dict):
90-
values = [acrdef.get("value")] or acrdef.get("values")
91-
return values
90+
if acrdef.get("value"):
91+
return [acrdef["value"]]
92+
elif acrdef.get("values"):
93+
return acrdef["values"]
9294

9395

9496
def verify_uri(endpoint_context, request, uri_type, client_id=None):
@@ -120,7 +122,7 @@ def verify_uri(endpoint_context, request, uri_type, client_id=None):
120122
_query = parse_qs(_query)
121123

122124
match = False
123-
values = endpoint_context.cdb[_cid].get("{}s".format(uri_type))
125+
values = endpoint_context.cdb.get(_cid, {}).get("{}s".format(uri_type))
124126
if not values:
125127
raise ValueError("No registered {}".format(uri_type))
126128
else:
@@ -312,8 +314,9 @@ def create_authn_response(endpoint, request, sid):
312314

313315
def proposed_user(request):
314316
cn = verified_claim_name("it_token_hint")
315-
return request[cn].get("sub", "")
316-
317+
if request.get(cn):
318+
return request[cn].get("sub", "")
319+
return ""
317320

318321
class Authorization(Endpoint):
319322
request_cls = oidc.AuthorizationRequest
@@ -471,9 +474,15 @@ def setup_auth(self, request, redirect_uri,
471474
else:
472475
identity = json.loads(as_unicode(_id))
473476

474-
session = self.endpoint_context.sdb.get(identity["sid"])
475-
if not session or "revoked" in session:
477+
try:
478+
session = self.endpoint_context.sdb[identity["sid"]]
479+
except KeyError:
476480
identity = None
481+
else:
482+
if session is None:
483+
identity = None
484+
elif "revoked" in session:
485+
identity = None
477486

478487
authn_args = authn_args_gather(request, authn_class_ref,
479488
cinfo, **kwargs)

src/oidcendpoint/oidc/registration.py

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -344,9 +344,7 @@ def add_registration_api(self, cinfo, client_id, context):
344344
def add_client_secret(self, cinfo, client_id, context):
345345
delta_int = int(self.kwargs.get("client_secret_expiration_time",
346346
0))
347-
if delta_int:
348-
args = {"delta": delta_int} if delta_int else {}
349-
347+
args = {"delta": delta_int} if delta_int else {}
350348
client_secret = secret(context.seed, client_id)
351349
cinfo.update(
352350
{
@@ -377,7 +375,7 @@ def client_registration_setup(self, request, new_id=True, set_secret=True):
377375
_context = self.endpoint_context
378376
if new_id:
379377
# create new id och secret
380-
#client_id = rndstr(12)
378+
client_id = rndstr(12)
381379
# cdb client_id MUT be unique!
382380
while client_id in _context.cdb:
383381
client_id = rndstr(12)

0 commit comments

Comments
 (0)