diff --git a/notebook/auth/login.py b/notebook/auth/login.py index eb96263e5..14b510cca 100644 --- a/notebook/auth/login.py +++ b/notebook/auth/login.py @@ -168,7 +168,8 @@ class LoginHandler(IPythonHandler): return handler._user_id user_id = cls.get_user_token(handler) if user_id is None: - user_id = handler.get_secure_cookie(handler.cookie_name) + get_secure_cookie_kwargs = handler.settings.get('get_secure_cookie_kwargs', {}) + user_id = handler.get_secure_cookie(handler.cookie_name, **get_secure_cookie_kwargs ) else: cls.set_login_cookie(handler, user_id) # Record that the current request has been authenticated with a token. diff --git a/notebook/notebookapp.py b/notebook/notebookapp.py index 64bd30f95..8b0d5b153 100755 --- a/notebook/notebookapp.py +++ b/notebook/notebookapp.py @@ -945,6 +945,10 @@ class NotebookApp(JupyterApp): help=_("Extra keyword arguments to pass to `set_secure_cookie`." " See tornado's set_secure_cookie docs for details.") ) + get_secure_cookie_kwargs = Dict(config=True, + help=_("Extra keyword arguments to pass to `get_secure_cookie`." + " See tornado's get_secure_cookie docs for details.") + ) ssl_options = Dict(config=True, help=_("""Supply SSL options for the tornado HTTPServer. See the tornado docs for details.""")) @@ -1338,6 +1342,7 @@ class NotebookApp(JupyterApp): self.tornado_settings['allow_origin_pat'] = re.compile(self.allow_origin_pat) self.tornado_settings['allow_credentials'] = self.allow_credentials self.tornado_settings['cookie_options'] = self.cookie_options + self.tornado_settings['get_secure_cookie_kwargs'] = self.get_secure_cookie_kwargs self.tornado_settings['token'] = self.token if (self.open_browser or self.file_to_run) and not self.password: self.one_time_token = binascii.hexlify(os.urandom(24)).decode('ascii')