mirror of
https://github.com/jupyterhub/jupyterhub.git
synced 2025-10-12 20:43:02 +00:00
raise 500 on failure to identify a user in oauth callback
This commit is contained in:
@@ -638,6 +638,8 @@ class HubOAuthCallbackHandler(HubOAuthenticated, RequestHandler):
|
|||||||
# TODO: make async (in a Thread?)
|
# TODO: make async (in a Thread?)
|
||||||
token = self.hub_auth.token_for_code(code)
|
token = self.hub_auth.token_for_code(code)
|
||||||
user_model = self.hub_auth.user_for_token(token)
|
user_model = self.hub_auth.user_for_token(token)
|
||||||
|
if user_model is None:
|
||||||
|
raise HTTPError(500, "oauth callback failed to identify a user")
|
||||||
app_log.info("Logged-in user %s", user_model)
|
app_log.info("Logged-in user %s", user_model)
|
||||||
self.hub_auth.set_cookie(self, token)
|
self.hub_auth.set_cookie(self, token)
|
||||||
next_url = self.get_argument('next', '') or self.hub_auth.base_url
|
next_url = self.get_argument('next', '') or self.hub_auth.base_url
|
||||||
|
@@ -5,12 +5,13 @@
|
|||||||
# Distributed under the terms of the Modified BSD License.
|
# Distributed under the terms of the Modified BSD License.
|
||||||
|
|
||||||
import os
|
import os
|
||||||
|
from textwrap import dedent
|
||||||
from urllib.parse import urlparse
|
from urllib.parse import urlparse
|
||||||
|
|
||||||
from jinja2 import ChoiceLoader, FunctionLoader
|
from jinja2 import ChoiceLoader, FunctionLoader
|
||||||
|
|
||||||
from tornado import ioloop
|
from tornado import ioloop
|
||||||
from textwrap import dedent
|
from tornado.web import HTTPError
|
||||||
|
|
||||||
try:
|
try:
|
||||||
import notebook
|
import notebook
|
||||||
@@ -119,6 +120,8 @@ class OAuthCallbackHandler(HubOAuthCallbackHandler, IPythonHandler):
|
|||||||
# TODO: make async (in a Thread?)
|
# TODO: make async (in a Thread?)
|
||||||
token = self.hub_auth.token_for_code(code)
|
token = self.hub_auth.token_for_code(code)
|
||||||
user_model = self.hub_auth.user_for_token(token)
|
user_model = self.hub_auth.user_for_token(token)
|
||||||
|
if user_model is None:
|
||||||
|
raise HTTPError(500, "oauth callback failed to identify a user")
|
||||||
self.log.info("Logged-in user %s", user_model)
|
self.log.info("Logged-in user %s", user_model)
|
||||||
self.hub_auth.set_cookie(self, token)
|
self.hub_auth.set_cookie(self, token)
|
||||||
next_url = self.get_argument('next', '') or self.base_url
|
next_url = self.get_argument('next', '') or self.base_url
|
||||||
|
Reference in New Issue
Block a user