in fxa/oauth.py [0:0]
def __init__(self, client_id=None, client_secret=None, server_url=None,
cache=True, ttl=DEFAULT_CACHE_EXPIRY, jwks=None):
self.client_id = client_id
self.client_secret = client_secret
if server_url is None:
server_url = DEFAULT_SERVER_URL
server_url = server_url.rstrip('/')
if not server_url.endswith(VERSION_SUFFIXES):
server_url += VERSION_SUFFIXES[0]
if isinstance(server_url, str):
self.apiclient = APIClient(server_url)
else:
self.apiclient = server_url
self.cache = cache
if self.cache is True:
self.cache = MemoryCache(ttl)
if jwks is not None:
# Fail early if bad JWKs were provided.
for key in jwks:
jwt.algorithms.RSAAlgorithm.from_jwk(json.dumps(key))
self.jwks = jwks