Я немного застрял в написании собственного аутентификатора для jupyterhub.Скорее всего, потому что я не понимаю внутреннюю работу доступного REMOTE_USER аутентификатора. Я не уверен, применимо ли это в моем случае ... во всяком случае ... это то, что я хотел бы сделать:
Моя общая идея: У меня есть сервер, который аутентифицирует пользователя по его или ее институциональному логину.После входа на сервер / веб-сайт учреждения данные пользователей кодируются - только некоторые данные для идентификации пользователя.Затем они перенаправляются в домен jupyterhub следующим образом https://<mydomain>/hub/login?data=<here go the encrypted data>
Теперь, если запрос будет отправлен таким образом на мой домен jupyterhub, я бы хотел расшифровать представленные данные и аутентифицироватьпользователь.
Моя пробная версия: Я попробовал его с помощью следующего кода.Но, похоже, я слишком заурядный ...: D Пожалуйста, педантичные комментарии приветствуются: D
from tornado import gen
from jupyterhub.auth import Authenticator
class MyAuthenticator(Authenticator):
login_service = "my service"
authenticator_login_url="authentication url"
@gen.coroutine
def authenticate(self,handler,data=None):
# some verifications go here
# if data is verified the username is returned
Моя первая проблема ... нажатие кнопки на странице входа не перенаправляет меня намой URL аутентификации ... кажется, что переменная authenticator_login_url
из шаблона входа установлена где-то еще ...
Вторая проблема ... сделан запрос к ... / hub / login? data =.... не проверяется аутентификатором (кажется ...)
Итак: есть ли у меня какие-нибудь намеки на то, как это сделать?
Как вы видите, я следовал инструкциям здесь: https://universe -docs.readthedocs.io / en / latest / authenticators.html