give Spawners a handle on the Authenticator

band-aid for spawner-authenticator pairs
This commit is contained in:
Min RK
2015-09-11 11:57:41 +02:00
parent 63a476f9a6
commit a451f11cd3
4 changed files with 5 additions and 1 deletions

View File

@@ -711,6 +711,7 @@ class JupyterHub(Application):
self.log.debug("Loading state for %s from db", user.name)
user.spawner = spawner = self.spawner_class(
user=user, hub=self.hub, config=self.config, db=self.db,
authenticator=self.authenticator,
)
status = yield spawner.poll()
if status is None:

View File

@@ -265,6 +265,7 @@ class BaseHandler(RequestHandler):
base_url=self.base_url,
hub=self.hub,
config=self.config,
authenticator=self.authenticator,
)
@gen.coroutine
def finish_user_spawn(f=None):

View File

@@ -336,7 +336,7 @@ class User(Base):
return db.query(cls).filter(cls.name==name).first()
@gen.coroutine
def spawn(self, spawner_class, base_url='/', hub=None, config=None):
def spawn(self, spawner_class, base_url='/', hub=None, authenticator=None, config=None):
"""Start the user's spawner"""
db = inspect(self).session
if hub is None:
@@ -357,6 +357,7 @@ class User(Base):
user=self,
hub=hub,
db=db,
authenticator=authenticator,
)
# we are starting a new server, make sure it doesn't restore state
spawner.clear_state()

View File

@@ -39,6 +39,7 @@ class Spawner(LoggingConfigurable):
db = Any()
user = Any()
hub = Any()
authenticator = Any()
api_token = Unicode()
ip = Unicode('localhost', config=True,
help="The IP address (or hostname) the single-user server should listen on"