Как настроить JupyterHub с Django?

Я пытаюсь создать веб-приложение 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. У нас разные ошибки.

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

gdlmx 19.03.2019 05:54

Пожалуйста, обратитесь к примеру конфигурации здесь.

gdlmx 19.03.2019 05:58

@user11154441 user11154441, вы смогли найти решение вопроса. Я пытаюсь сделать то же самое и застрял на некоторое время

Sachin Rajput 01.01.2022 14:39
Почему в Python есть оператор "pass"?
Почему в Python есть оператор "pass"?
Оператор pass в Python - это простая концепция, которую могут быстро освоить даже новички без опыта программирования.
Некоторые методы, о которых вы не знали, что они существуют в Python
Некоторые методы, о которых вы не знали, что они существуют в Python
Python - самый известный и самый простой в изучении язык в наши дни. Имея широкий спектр применения в области машинного обучения, Data Science,...
Основы Python Часть I
Основы Python Часть I
Вы когда-нибудь задумывались, почему в программах на Python вы видите приведенный ниже код?
LeetCode - 1579. Удаление максимального числа ребер для сохранения полной проходимости графа
LeetCode - 1579. Удаление максимального числа ребер для сохранения полной проходимости графа
Алиса и Боб имеют неориентированный граф из n узлов и трех типов ребер:
Оптимизация кода с помощью тернарного оператора Python
Оптимизация кода с помощью тернарного оператора Python
И последнее, что мы хотели бы показать вам, прежде чем двигаться дальше, это
Советы по эффективной веб-разработке с помощью Python
Советы по эффективной веб-разработке с помощью Python
Как веб-разработчик, Python может стать мощным инструментом для создания эффективных и масштабируемых веб-приложений.
1
3
496
0

Другие вопросы по теме