Dav*_*ams 5 python authentication jupyter
我想创建一个使用自定义重定向来验证用户身份的jupyterhub安装。用户将输入我们Jupyterhub的网址,将其重定向到单独的身份验证系统,然后绕过login.html返回到应用程序。似乎最初需要在实际的Jupyterhub源代码上进行大量的黑客操作才能使其正常工作。
根据我目前的了解,我们需要自定义jupyterhub / jupyterhub / handlers / login.py jupyterhub / auth.py。我们希望避免这种情况,并使用官方支持的机制。我以为也许可以创建自己的身份验证器,以便在配置文件中使用,例如
c = get_config()
c.Authenticator.stuffGoesHere
Run Code Online (Sandbox Code Playgroud)
并实现自己的:
class LoginHandler(BaseHandler) // login.py
Run Code Online (Sandbox Code Playgroud)
此外
class Authenticator(LoggingConfigurable): // auth.py
Run Code Online (Sandbox Code Playgroud)
但是我什至看不清如何做到这一点,因为我不知道在哪里
get_config()
Run Code Online (Sandbox Code Playgroud)
实现以及如何覆盖它。我在想这个吗?希望有一个单独的系统来处理登录名的解决方案(我们可以从此外部系统获取用户名,以进行docker Provisioning等操作,用于dockerspawner)。顺便说一句,get_config实际定义在哪里?
get_config
在这里定义:https : //github.com/ipython/traitlets/blob/c5c9166373041dd561d8ad86e8990ae844d26306/traitlets/config/loader.py#L483-L501
而无需先导入就可以直接使用的原因是py3compat.execfile
。
回到您的需求,您应该做的是创建CustomizedAuthenticator
扩展jupyterhub.auth.Authenticator
. 并将其与以下内容一起使用:
c.JupyterHub.authenticator_class = CustomizedAuthenticator
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
452 次 |
最近记录: |