Project

General

Profile

0006-utils-allow-specifying-auth-level-when-getting-backe.patch

Valentin Deniaud, 04 April 2019 05:07 PM

Download (1.66 KB)

View differences:

Subject: [PATCH 06/13] utils: allow specifying auth level when getting
 backends

 src/authentic2/utils.py | 13 +++++++++++--
 1 file changed, 11 insertions(+), 2 deletions(-)
src/authentic2/utils.py
return cls()
def get_backends(setting_name='IDP_BACKENDS'):
'''Return the list of enabled cleaned backends.'''
def get_backends(setting_name='IDP_BACKENDS', required_auth_level=1):
'''Return the list of enabled cleaned backends.
required_auth_level param allows to filter backends on the authentication
levels they provide. When set to 0, filtering is disabled.
'''
backends = []
for backend_path in getattr(app_settings, setting_name):
kwargs = {}
......
# If no enabled method is defined on the backend, backend enabled by default.
if hasattr(backend, 'enabled') and not backend.enabled():
continue
if required_auth_level and hasattr(backend, 'auth_level'):
if backend.auth_level != required_auth_level:
continue
elif required_auth_level > 1:
continue
kwargs_settings = getattr(app_settings, setting_name + '_KWARGS', {})
if backend_path in kwargs_settings:
kwargs.update(kwargs_settings[backend_path])