def __init__(self, srv, ttl, symkey): UserAuthnMethod.__init__(self, srv, ttl) if symkey is not None and symkey == "": msg = "SymKeyAuthn.symkey cannot be an empty value" raise ImproperlyConfigured(msg) self.symkey = symkey
def __init__( self, base_url, db, refresh_db=None, refresh_token_expires_in=None, token_factory=None, code_factory=None, refresh_token_factory=None, ): """ Object to store the session related information. :param db: Database for storing the session information. """ if refresh_token_expires_in is not None: warnings.warn( "Setting a `refresh_token_expires_in` has no effect, please set the expiration on " "`refresh_token_factory`.", DeprecationWarning, ) self.base_url = base_url if not isinstance(db, SessionBackend): warnings.warn( "Please use `SessionBackend` to ensure proper API for the database.", DeprecationWarning, ) self._db = db self.token_factory = { "code": code_factory, "access_token": token_factory } self.token_factory_order = ["code", "access_token"] # TODO: This should simply be a factory like all the others too, # even for the default case. if refresh_token_factory: if refresh_db: raise ImproperlyConfigured( "Only use one of refresh_db or refresh_token_factory") self._refresh_db = None self.token_factory["refresh_token"] = refresh_token_factory self.token_factory_order.append("refresh_token") elif refresh_db: warnings.warn( "Using `refresh_db` is deprecated, please use `refresh_token_factory`", DeprecationWarning, stacklevel=2, ) self._refresh_db = refresh_db else: # Not configured self._refresh_db = None self.token_factory["refresh_token"] = None self.access_token = self.token_factory["access_token"] self.token = self.access_token
def __init__(self, typ, lifetime=0, token_storage=None, **kwargs): self.type = typ self.lifetime = lifetime self.args = kwargs if typ == "R": if token_storage is None: raise ImproperlyConfigured( "token_storage kwarg must be passed in for refresh token.") self.token_storage = token_storage
def init_srv(self, srv): if not srv: return self.srv = srv symkey = getattr(self.srv, "symkey", None) if symkey is not None and symkey == "": msg = "CookieDealer.srv.symkey cannot be an empty value" raise ImproperlyConfigured(msg) if not getattr(srv, "seed", None): setattr(srv, "seed", rndstr().encode("utf-8"))
def __init__( self, base_url, db, refresh_db=None, refresh_token_expires_in=86400, token_factory=None, code_factory=None, refresh_token_factory=None, ): """ Object to store the session related information. :param db: Database for storing the session information. """ self.base_url = base_url if not isinstance(db, SessionBackend): warnings.warn( "Please use `SessionBackend` to ensure proper API for the database.", DeprecationWarning, ) self._db = db self.token_factory = { "code": code_factory, "access_token": token_factory } self.token_factory_order = ["code", "access_token"] # TODO: This should simply be a factory like all the others too, # even for the default case. if refresh_token_factory: if refresh_db: raise ImproperlyConfigured( "Only use one of refresh_db or refresh_token_factory") self._refresh_db = None self.token_factory["refresh_token"] = refresh_token_factory self.token_factory_order.append("refresh_token") elif refresh_db: self._refresh_db = refresh_db else: self._refresh_db = DictRefreshDB() self.access_token = self.token_factory["access_token"] self.token = self.access_token
def __init__( self, base_url, db, refresh_db=None, refresh_token_expires_in=86400, token_factory=None, code_factory=None, refresh_token_factory=None, ): self.base_url = base_url self._db = db # TODO: uid2sid should have a persistence option too. self.uid2sid = {} # type: Dict[str, List[str]] self.token_factory = { "code": code_factory, "access_token": token_factory } self.token_factory_order = ["code", "access_token"] # TODO: This should simply be a factory like all the others too, # even for the default case. if refresh_token_factory: if refresh_db: raise ImproperlyConfigured( "Only use one of refresh_db or refresh_token_factory") self._refresh_db = None self.token_factory["refresh_token"] = refresh_token_factory self.token_factory_order.append("refresh_token") elif refresh_db: self._refresh_db = refresh_db else: self._refresh_db = DictRefreshDB() self.access_token = self.token_factory["access_token"] self.token = self.access_token
def __init__(self, base_url, db, refresh_db=None, refresh_token_expires_in=86400, token_factory=None, code_factory=None, refresh_token_factory=None): self.base_url = base_url self._db = db # TODO: uid2sid should have a persistence option too. self.uid2sid = {} self.token_factory = { 'code': code_factory, 'access_token': token_factory, } self.token_factory_order = ['code', 'access_token'] # TODO: This should simply be a factory like all the others too, # even for the default case. if refresh_token_factory: if refresh_db: raise ImproperlyConfigured( "Only use one of refresh_db or refresh_token_factory") self._refresh_db = None self.token_factory['refresh_token'] = refresh_token_factory self.token_factory_order.append('refresh_token') elif refresh_db: self._refresh_db = refresh_db else: self._refresh_db = DictRefreshDB() self.access_token = self.token_factory['access_token'] self.token = self.access_token