Я пытаюсь создать веб-приложение Django, в котором будет блокнот Jupyter через сервер JupyterHub, встроенный в приложение, где пользователи могут войти в систему через приложение и получить доступ к блокноту после входа. Я пытаюсь использовать OAuth2, где JupyterHub проверяет аутентифицированных пользователей, которых предоставляет Django.
Я использую django-oauth-toolkit для службы аутентификации и связываю ее с помощью DjangoOAuthentication.
У меня есть DjangoOAuthenticator.oauth_callback_url ссылка на "http://localhost:8081/hub/oauth_callback"
У меня есть URI перенаправления (на Django), связанные с «http://localhost:8081/hub/oauth_callback»
Я получил:
404 : Not Found Jupyter has lots of moons, but this is not one...
[I 2019-03-18 16:28:54.195 JupyterHub oauth2:82] OAuth redirect: 'http://localhost:8081/hub/oauth_callback'
[I 2019-03-18 16:28:54.198 JupyterHub log:158] 302 GET /hub/oauth_login?next= -> localhost/oauth2/authorize?client_id=zkn2mFYhhNcs3bDTnwIWK0mDuLBdLAe2eMENE5Xa&response_type=code&state=[secret]&redirect_uri=http%3A%2F%2Flocalhost%3A8081%2Fhub%2Foauth_callback (@127.0.0.1) 3.94ms
[W 2019-03-18 16:28:54.230 JupyterHub log:158] 404 GET /hub/localhost/oauth2/authorize?client_id=zkn2mFYhhNcs3bDTnwIWK0mDuLBdLAe2eMENE5Xa&response_type=code&state=[secret]&redirect_uri=http%3A%2F%2Flocalhost%3A8081%2Fhub%2Foauth_callback (@127.0.0.1) 17.81ms
URL-адрес, на который он переходит:
http://localhost:8081/hub/localhost/oauth2/authorize?client_id=zkn2mFYhhNcs3bDTnwIWK0mDuLBdLAe2eMENE5Xa&response_type=code&state=eyJzdGF0ZV9pZCI6ICJlZTA0MmRiYmU4YTY0ZmIxYTk0ODU0MjFiMzhhMWYwOCIsICJuZXh0X3VybCI6ICIifQ%3D%3D&redirect_uri=http%3A%2F%2Flocalhost%3A8081%2Fhub%2Foauth_callback
Я считаю, что у меня неправильно либо oauth_callback_url, либо redirect_uri на Django.
Примечание: Мой вопрос не является дубликатом Используйте провайдера Django OAuth2 с JupyterHub. У нас разные ошибки.
Пожалуйста, обратитесь к примеру конфигурации здесь.
@user11154441 user11154441, вы смогли найти решение вопроса. Я пытаюсь сделать то же самое и застрял на некоторое время






Я предполагаю, что вы используете Jupyterhub оаутентификатор. Это реализует OAuth-клиент. И вы должны установить URL-адрес вашего Поставщик услуг OAuth на OAUTH2_AUTHORIZE_URL, который является порталом OAuth вашего сервера Django.