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

Commit 104de3d

Browse files
authored
Merge pull request #3 from IdentityPython/master
merge
2 parents 6e21ab9 + f1a8d73 commit 104de3d

1 file changed

Lines changed: 50 additions & 71 deletions

File tree

src/oidcendpoint/endpoint_context.py

Lines changed: 50 additions & 71 deletions
Original file line numberDiff line numberDiff line change
@@ -38,10 +38,7 @@ def add_path(url, path):
3838

3939

4040
def init_user_info(conf, cwd):
41-
try:
42-
kwargs = conf["kwargs"]
43-
except KeyError:
44-
kwargs = {}
41+
kwargs = conf.get("kwargs", {})
4542

4643
if "db_file" in kwargs:
4744
kwargs["db_file"] = os.path.join(cwd, kwargs["db_file"])
@@ -53,10 +50,7 @@ def init_user_info(conf, cwd):
5350

5451

5552
def init_service(conf, endpoint_context=None):
56-
try:
57-
kwargs = conf["kwargs"]
58-
except KeyError:
59-
kwargs = {}
53+
kwargs = conf.get("kwargs", {})
6054

6155
if endpoint_context:
6256
kwargs["endpoint_context"] = endpoint_context
@@ -136,11 +130,11 @@ def __init__(
136130
self.args = {}
137131

138132
# session db
139-
self._sub_func = None
133+
self._sub_func = {}
134+
self.do_sub_func()
140135
self.sdb = session_db
141136
if not self.sdb:
142137
self.set_session_db(conf, sso_db)
143-
#
144138

145139
self.scope2claims = SCOPE2CLAIMS
146140

@@ -198,19 +192,18 @@ def __init__(
198192
args = {k: v for k, v in conf["jwks"].items() if k != "uri_path"}
199193
self.keyjar = init_key_jar(**args)
200194

201-
for item in ['cookie_dealer', "sub_func", "authz", "authentication",
202-
"id_token", "scope2claims"]:
195+
for item in ['cookie_dealer', "authz", "authentication", "id_token", "scope2claims"]:
203196
_func = getattr(self, "do_{}".format(item), None)
204197
if _func:
205-
_func(self.conf)
198+
_func()
206199

207-
_cap = self.do_endpoints(conf)
200+
_cap = self.do_endpoints()
208201

209202
for item in ["userinfo", "login_hint_lookup", "login_hint2acrs",
210203
"add_on"]:
211204
_func = getattr(self, "do_{}".format(item), None)
212205
if _func:
213-
_func(self.conf)
206+
_func()
214207

215208
self.provider_info = self.create_providerinfo(_cap)
216209

@@ -228,76 +221,65 @@ def set_session_db(self, conf, sso_db=None):
228221
sso_db = sso_db if sso_db else SSODb()
229222
self.do_session_db(conf, sso_db)
230223
# this append useinfo db to the session db
231-
self.do_userinfo(conf)
224+
self.do_userinfo()
232225
logger.debug('Session DB: {}'.format(self.sdb.__dict__))
233226

234-
def do_add_on(self, conf):
235-
if 'add_on' in conf:
236-
for spec in conf["add_on"].values():
227+
def do_add_on(self):
228+
_conf = self.conf.get("add_on")
229+
if 'add_on' in self.conf:
230+
for spec in self.conf["add_on"].values():
237231
if isinstance(spec["function"], str):
238232
_func = importer(spec["function"])
239233
else:
240234
_func = spec["function"]
241235

242236
_func(self.endpoint, **spec["kwargs"])
243237

244-
def do_login_hint2acrs(self, conf):
245-
try:
246-
_conf = conf["login_hint2acrs"]
247-
except KeyError:
248-
self.login_hint2acrs = None
249-
else:
250-
self.login_hint2acrs = init_service(_conf)
238+
def do_login_hint2acrs(self):
239+
_conf = self.conf.get("login_hint2acrs")
251240

252-
def do_login_hint_lookup(self, conf):
253-
try:
254-
_conf = conf["login_hint_lookup"]
255-
except KeyError:
256-
pass
241+
if _conf:
242+
self.login_hint2acrs = init_service(_conf)
257243
else:
244+
self.login_hint2acrs = None
245+
246+
def do_login_hint_lookup(self):
247+
_conf = self.conf.get("login_hint_lookup")
248+
if _conf:
258249
self.login_hint_lookup = init_service(_conf)
259250
if self.userinfo:
260251
self.login_hint_lookup.user_info = self.userinfo
261252

262-
def do_userinfo(self, conf):
263-
try:
264-
_conf = conf["userinfo"]
265-
except KeyError:
266-
pass
267-
else:
253+
def do_userinfo(self):
254+
_conf = self.conf.get("userinfo")
255+
if _conf:
268256
if self.sdb:
269257
self.userinfo = init_user_info(_conf, self.cwd)
270258
self.sdb.userinfo = self.userinfo
271259

272260

273-
def do_id_token(self, conf):
274-
try:
275-
_conf = conf["id_token"]
276-
except KeyError:
277-
self.idtoken = IDToken(self)
278-
else:
261+
def do_id_token(self):
262+
_conf = self.conf.get("id_token")
263+
if _conf:
279264
self.idtoken = init_service(_conf, self)
280-
281-
def do_authentication(self, conf):
282-
try:
283-
_authn = conf["authentication"]
284-
except KeyError:
285-
self.authn_broker = None
286265
else:
287-
self.authn_broker = populate_authn_broker(_authn, self, self.template_handler)
266+
self.idtoken = IDToken(self)
288267

289-
def do_cookie_dealer(self, conf):
290-
try:
291-
_conf = conf['cookie_dealer']
292-
except KeyError:
293-
pass
268+
def do_authentication(self):
269+
_conf = self.conf.get("authentication")
270+
if _conf:
271+
self.authn_broker = populate_authn_broker(_conf, self, self.template_handler)
294272
else:
273+
self.authn_broker = None
274+
275+
def do_cookie_dealer(self):
276+
_conf = self.conf.get('cookie_dealer')
277+
if _conf:
295278
if not self.cookie_dealer:
296279
self.cookie_dealer = init_service(_conf)
297280

298-
def do_sub_func(self, conf):
299-
_conf = conf.get("sub_func", {})
300-
self._sub_func = {}
281+
def do_sub_func(self):
282+
_conf = self.conf.get("sub_func", {})
301283
for key, args in _conf.items():
302284
if "class" in args:
303285
self._sub_func[key] = init_service(args)
@@ -315,17 +297,15 @@ def do_session_db(self, conf, sso_db):
315297
sub_func=self._sub_func
316298
)
317299

318-
def do_endpoints(self, conf):
300+
def do_endpoints(self):
319301
self.endpoint = build_endpoints(
320-
conf["endpoint"],
302+
self.conf["endpoint"],
321303
endpoint_context=self,
322304
client_authn_method=CLIENT_AUTHN_METHOD,
323-
issuer=conf["issuer"],
305+
issuer=self.conf["issuer"],
324306
)
325-
try:
326-
_cap = conf["capabilities"]
327-
except KeyError:
328-
_cap = {}
307+
308+
_cap = self.conf.get("capabilities", {})
329309

330310
for endpoint, endpoint_instance in self.endpoint.items():
331311
if endpoint_instance.provider_info:
@@ -339,13 +319,12 @@ def do_endpoints(self, conf):
339319

340320
return _cap
341321

342-
def do_authz(self, conf):
343-
try:
344-
authz_spec = conf["authz"]
345-
except KeyError:
346-
self.authz = authz.Implicit(self)
347-
else:
322+
def do_authz(self):
323+
authz_spec = self.conf.get("authz")
324+
if authz_spec:
348325
self.authz = init_service(authz_spec, self)
326+
else:
327+
self.authz = authz.Implicit(self)
349328

350329
def claims_supported(self):
351330
_claims = set()

0 commit comments

Comments
 (0)