使用配置文件中的c.NotebookApp.login_handler_class参数对Ipython Notebook进行身份验证

She*_*Xue 5 passwords jupyter-notebook

我已经设置了Ipython 3.2.1 Notebook server。但是,我正在寻找一种添加我们自己的身份验证规则的方法,这意味着我想添加与LDAP, OAuth笔记本类似的我自己的身份验证安全身份验证机制。

我不想使用JupyterHub,因为它对我来说太复杂了。但是,我从该站点知道Jupyter Notebook服务器使用用户名和密码进行的两因素身份验证,我们可以处理“要使用的登录处理程序类”。

c.NotebookApp.login_handler_class = 'notebook.auth.login.LoginHandler'
Run Code Online (Sandbox Code Playgroud)

在笔记本配置文件中,但是我不知道该怎么做,是否需要编写另一个loginHandler类来覆盖它?如果是这样,我应该把这个类文件放在哪个目录?

use*_*911 2

LoginHandler是的,您可以通过扩展来修改 的行为。就像下面的代码一样,我正在覆盖该方法_render

    class MyLoginHandler(LoginHandler):
        def _render(self, message=None):
            # ... this is my custom code
Run Code Online (Sandbox Code Playgroud)

然后你必须将 Jupyter 文件修改为:

c.NotebookApp.login_handler_class = 'myModule.MyLoginHandler'
Run Code Online (Sandbox Code Playgroud)