配置 JupyterHub 身份验证器#

任何 JupyterHub 身份验证器 都可以与 TLJH 一起使用。其中一些默认情况下与 TLJH 一起提供。

  1. OAuthenticator - Google、GitHub、CILogon、GitLab、Globus、Mediawiki、auth0、通用 OpenID 连接(用于 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