配置 JupyterHub 认证器#
任何 JupyterHub 认证器 都可用于 TLJH。其中一些默认随 TLJH 提供
OAuthenticator - Google、GitHub、CILogon、GitLab、Globus、Mediawiki、auth0、通用 OpenID Connect(用于 KeyCloak 等)以及其他基于 OAuth 的身份验证方法。
LDAPAuthenticator - LDAP 和 Active Directory。
DummyAuthenticator - 任何用户名,一个共享密码。有关使用 DummyAuthenticator 的操作指南 也可用。
FirstUseAuthenticator - 用户首次登录时设置密码。TLJH 中使用的默认认证器。
TmpAuthenticator - 向世界开放 JupyterHub,每当有人登录时创建一个新用户。
NativeAuthenticator - 允许用户注册,添加密码安全验证,并在登录失败后阻止用户。
我们尽量为常见的认证器提供特定的操作指南和教程。由于我们无法涵盖所有内容,本指南将向您展示如何通过遵循认证器的文档,将您想要的任何认证器与 JupyterHub 配合使用。
设置认证器属性#
JupyterHub 认证器通过设置 traitlet 属性 进行自定义。在认证器的文档中,您会发现这些通常表示为
c.<AuthenticatorName>.<property-name> = <some-value>
您可以使用 tljh-config
来设置它们,命令如下
sudo tljh-config set auth.<AuthenticatorName>.<property-name> <some-value>
示例#
LDAPAuthenticator 的文档 列出了您可以为 LDAPAuthenticator 设置的各种配置选项。当文档要求您将 LDAPAuthenticator.server_address
设置为某个值时,您可以使用以下命令完成此操作
sudo tljh-config set auth.LDAPAuthenticator.server_address 'my-ldap-server'
大多数认证器在启用之前都需要设置多个配置选项。请仔细阅读认证器的文档以获取更多信息。
启用验证器#
配置好认证器后,您应该启用它。通常,认证器的文档会要求您在 jupyterhub_config.py
中添加类似以下内容以启用它
c.JupyterHub.authenticator_class = 'fully-qualified-authenticator-name'
您可以使用 tljh-config
完成相同的操作
sudo tljh-config set auth.type <fully-qualified-authenticator-name>
启用后,您需要重新加载 JupyterHub 以使配置生效。
sudo tljh-config reload
尝试在单独的无痕窗口中登录,检查您的配置是否有效。这可以让您在出现错误时保留终端。如果出现错误,查看日志 应该可以帮助您调试它们。
示例#
从 LDAPAuthenticator 的文档中,我们看到完全限定名为 ldapauthenticator.LDAPAuthenticator
。假设您已经配置好它,以下命令将启用 LDAPAuthenticator。
sudo tljh-config set auth.type ldapauthenticator.LDAPAuthenticator
sudo tljh-config reload