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

Commit 430fb74

Browse files
committed
better create_session_db args handling
1 parent 277769b commit 430fb74

File tree

4 files changed

+15
-31
lines changed

4 files changed

+15
-31
lines changed

src/oidcendpoint/endpoint.py

Lines changed: 2 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -201,15 +201,9 @@ def parse_request(self, request, auth=None, **kwargs):
201201
req["client_id"] = auth_info["client_id"]
202202
_client_id = auth_info["client_id"]
203203
else:
204-
try:
205-
_client_id = req["client_id"]
206-
except KeyError:
207-
pass
204+
_client_id = req.get("client_id")
208205

209-
try:
210-
keyjar = self.endpoint_context.keyjar
211-
except AttributeError:
212-
keyjar = ""
206+
keyjar = getattr(self, "endpoint_context", "")
213207

214208
# verify that the request message is correct
215209
try:

src/oidcendpoint/oidc/registration.py

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -150,7 +150,6 @@ def match_client_request(self, request):
150150
def do_client_registration(self, request, client_id, ignore=None):
151151
if ignore is None:
152152
ignore = []
153-
154153
_context = self.endpoint_context
155154
_cinfo = _context.cdb[client_id].copy()
156155
logger.debug("_cinfo: %s" % sanitize(_cinfo))
@@ -344,7 +343,7 @@ def add_registration_api(self, cinfo, client_id, context):
344343
def add_client_secret(self, cinfo, client_id, context):
345344
delta_int = int(self.kwargs.get("client_secret_expiration_time",
346345
0))
347-
args = {"delta": delta_int} if delta_int else {}
346+
args = {"delta": delta_int} if delta_int else {}
348347
client_secret = secret(context.seed, client_id)
349348
cinfo.update(
350349
{
@@ -395,7 +394,7 @@ def client_registration_setup(self, request, new_id=True, set_secret=True):
395394
client_secret = ""
396395
if set_secret:
397396
client_secret = self.add_client_secret(_cinfo, client_id,
398-
_context)
397+
_context)
399398

400399
_context.cdb[client_id] = _cinfo
401400
_cinfo = self.do_client_registration(

src/oidcendpoint/session.py

Lines changed: 10 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -162,7 +162,8 @@ def __delitem__(self, key):
162162
def keys(self):
163163
return self._db.keys()
164164

165-
def create_authz_session(self, authn_event, areq, client_id="", uid="", **kwargs):
165+
def create_authz_session(self, authn_event, areq,
166+
client_id="", uid="", **kwargs):
166167
"""
167168
168169
:param authn_event:
@@ -293,20 +294,14 @@ def replace_token(self, sid, sinfo, token_type):
293294
:param token_type: What type of tokens should be replaced
294295
:return: Updated session info
295296
"""
296-
try:
297-
# Mint a new one
297+
298+
if token_type in self.handler:
298299
refresh_token = self.handler[token_type](sid, sinfo=sinfo)
299-
except KeyError:
300-
pass
301-
else:
302300
# blacklist the old is there is one
303-
try:
301+
if sinfo.get(token_type):
304302
self.handler[token_type].black_list(sinfo[token_type])
305-
except KeyError:
306-
pass
307303

308304
sinfo[token_type] = refresh_token
309-
310305
return sinfo
311306

312307
def _make_at(self, sid, session_info, aud=None, client_id_aud=True):
@@ -561,17 +556,13 @@ def get_authentication_event(self, sid):
561556
except Exception:
562557
raise UnknownToken(sid)
563558
else:
564-
try:
565-
return session_info["authn_event"]
566-
except KeyError:
567-
raise ValueError("No Authn event info")
568-
559+
sesinf = session_info.get("authn_event")
560+
return sesinf or ValueError("No Authn event info")
569561

570562
def create_session_db(ec, token_handler_args, db=None,
571-
sso_db=SSODb(), sub_func=None):
563+
sso_db=None, sub_func=None):
572564
_token_handler = token_handler.factory(ec, **token_handler_args)
573565

574-
if not db:
575-
db = InMemoryDataBase()
576-
566+
db = db or InMemoryDataBase()
567+
sso_db = sso_db or SSODb()
577568
return SessionDB(db, _token_handler, sso_db, sub_func=sub_func)

src/oidcendpoint/sso_db.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@ def __init__(self, db=None):
2323
self._db = db or InMemoryDataBase()
2424

2525
def set(self, label, key, value):
26-
logger.debug("SSODb set {}: {}".format(key, value))
26+
logger.debug("SSODb set {} - {}: {}".format(label, key, value))
2727
_key = KEY_FORMAT.format(label, key)
2828
_values = self._db.get(_key)
2929
if not _values:

0 commit comments

Comments
 (0)