配置 JupyterHub 认证器#

任何 JupyterHub 认证器 都可用于 TLJH。其中一些默认随 TLJH 提供

  1. OAuthenticator - Google、GitHub、CILogon、GitLab、Globus、Mediawiki、auth0、通用 OpenID Connect(用于 KeyCloak 等)以及其他基于 OAuth 的身份验证方法。

  2. LDAPAuthenticator - LDAP 和 Active Directory。

  3. DummyAuthenticator - 任何用户名,一个共享密码。有关使用 DummyAuthenticator 的操作指南 也可用。

  4. FirstUseAuthenticator - 用户首次登录时设置密码。TLJH 中使用的默认认证器。

  5. TmpAuthenticator - 向世界开放 JupyterHub,每当有人登录时创建一个新用户。

  6. 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