X-Git-Url: https://osm.etsi.org/gitweb/?p=osm%2FNBI.git;a=blobdiff_plain;f=osm_nbi%2Fauthconn.py;h=bbcf3422705d4419341a6dfd17e0fdffa2d1ca0f;hp=ef4d75c7de5ebef268a0973403bdac2f6834c664;hb=340df4872fd8c0ab86a29ee86ff27f80afcc7679;hpb=23acf4001306e92a587de566be4bab00931104ba diff --git a/osm_nbi/authconn.py b/osm_nbi/authconn.py index ef4d75c..bbcf342 100644 --- a/osm_nbi/authconn.py +++ b/osm_nbi/authconn.py @@ -110,23 +110,25 @@ class Authconn: Each Auth backend connector plugin must be a subclass of Authconn class. """ - def __init__(self, config, db, token_cache): + def __init__(self, config, db, role_permissions): """ Constructor of the Authconn class. - - Note: each subclass - :param config: configuration dictionary containing all the necessary configuration parameters. + :param db: internal database classs + :param role_permissions: read only role permission list """ self.config = config + self.role_permissions = role_permissions - def authenticate(self, user, password, project=None, token_info=None): + def authenticate(self, credentials, token_info=None): """ Authenticate a user using username/password or token_info, plus project - :param user: user: name, id or None - :param password: password or None - :param project: name, id, or None. If None first found project will be used to get an scope token + :param credentials: dictionary that contains: + username: name, id or None + password: password or None + project_id: name, id, or None. If None first found project will be used to get an scope token + other items are allowed for specific auth backends :param token_info: previous token_info to obtain authorization :return: the scoped token info or raises an exception. The token is a dictionary with: _id: token string id,