我有点坚持为 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=... 发出的请求没有被验证器评估(似乎...)
所以:有人对我有什么提示吗?
相关分类