From 31f63264b0a86ed40d2f5738f02ef5cd03bd20b6 Mon Sep 17 00:00:00 2001 From: Min RK Date: Mon, 7 Aug 2017 13:10:59 +0200 Subject: [PATCH] ensure oauth uses same db session as app further remnant of test threads --- jupyterhub/app.py | 2 +- jupyterhub/oauth/store.py | 10 +--------- 2 files changed, 2 insertions(+), 10 deletions(-) diff --git a/jupyterhub/app.py b/jupyterhub/app.py index a79e0fa1..c991aa74 100644 --- a/jupyterhub/app.py +++ b/jupyterhub/app.py @@ -1247,7 +1247,7 @@ class JupyterHub(Application): def init_oauth(self): base_url = self.hub.base_url self.oauth_provider = make_provider( - self.session_factory, + lambda : self.db, url_prefix=url_path_join(base_url, 'api/oauth2'), login_url=url_path_join(base_url, 'login') ) diff --git a/jupyterhub/oauth/store.py b/jupyterhub/oauth/store.py index bf5b9564..9d23bb9b 100644 --- a/jupyterhub/oauth/store.py +++ b/jupyterhub/oauth/store.py @@ -52,14 +52,7 @@ class JupyterHubSiteAdapter(AuthorizationCodeGrantSiteAdapter): class HubDBMixin(object): """Mixin for connecting to the hub database""" def __init__(self, session_factory): - self.session_factory = session_factory - self._local = threading.local() - - @property - def db(self): - if not hasattr(self._local, 'db'): - self._local.db = scoped_session(self.session_factory)() - return self._local.db + self.db = session_factory() class AccessTokenStore(HubDBMixin, oauth2.store.AccessTokenStore): @@ -77,7 +70,6 @@ class AccessTokenStore(HubDBMixin, oauth2.store.AccessTokenStore): if user is None: raise ValueError("No user for access token: %s" % access_token.user_id) orm_access_token = orm.OAuthAccessToken( - generated=True, client_id=access_token.client_id, grant_type=access_token.grant_type, expires_at=access_token.expires_at,