Skip to content

单点登录 ​

单点登录会为你添加的每个提供方在面板登录页上放置一个 使用 … 登录 按钮:Google、Microsoft、GitHub、GitLab、Keycloak、Authentik、Okta、Auth0、任何 OpenID Connect 提供方,或任何 OAuth 2.0 提供方。这样,你的操作员就可以用已有的账户登录。该页面位于 服务 → 单点登录,由主管理员设置。

单点登录页面:需要注册的回调地址、提供方列表,以及已关联到账户的身份单点登录页面:需要注册的回调地址、提供方列表,以及已关联到账户的身份

两条规则 ​

  • 不会由此创建账户。 提供方的账户在被某个面板账户关联之前,对面板毫无意义。在提供方登录但未在这里关联的人会被拒绝。
  • 两步验证依然有效。 开启了两步验证的账户,在提供方登录之后仍会被要求输入验证码,与密码登录后一样。

回调地址 ​

页面显示一个 回调地址(Redirect URI),以 /api/login/oidc/callback 结尾。请在每个提供方处,把这个地址原样注册为客户端的重定向(或回调)URI。一个地址适用于所有提供方。

它根据你打开该页面时所用的地址生成,因此在复制之前,请先通过操作员使用的地址打开面板。

如果面板位于反向代理之后,代理必须原样传递原始的 Host 头部(在 nginx 中为 proxy_set_header Host $http_host;),或者被列入 安全 页面的 受信任代理,使其 X-Forwarded-Host 生效。否则,登录在返回时会被拒绝。

添加提供方 ​

  1. 点击 添加提供方,在顶部选择提供方。

  2. 表单只会要求填写该提供方需要的内容,字段上方写明了在哪里创建客户端。先在提供方处使用上面的回调地址创建客户端,然后填写:

    提供方需要填写
    Google客户端 ID、客户端密钥
    Microsoft租户(留空 = common,即任何 Microsoft 账户)、客户端 ID、客户端密钥
    GitHub客户端 ID、客户端密钥
    GitLab地址(留空 = gitlab.com)、客户端 ID、客户端密钥
    Keycloak地址、Realm、客户端 ID、客户端密钥
    Authentik地址、应用 slug、客户端 ID、客户端密钥
    Okta域名、授权服务器(留空 = default)、客户端 ID、客户端密钥
    Auth0域名、客户端 ID、客户端密钥
    OpenID Connect(其他)Issuer、客户端 ID、客户端密钥、作用域
    OAuth 2.0(其他)授权地址、令牌地址、用户信息地址、客户端 ID、客户端密钥、ID 字段、名称字段
  3. 按钮名称 决定按钮上“使用 … 登录”中显示的名称;留空则使用提供方的名称。

  4. 保存,然后在提供方所在行选择 测试,检查提供方是否响应。

OpenID Connect(其他) 适用于任何可通过 issuer 地址发现的提供方:PocketID、Authelia、Zitadel、Kanidm、Dex、Casdoor、Logto 等。它的 /.well-known/openid-configuration 必须能够响应。

OAuth 2.0(其他) 适用于支持 OAuth 2.0 但不支持 OpenID Connect 的提供方。填写它的三个地址,并指明其用户信息响应中哪个字段是账户的 id(永不改变的那个),哪个字段是用于区分各关联的名称。

地址必须使用 https;只有在面板自己的服务器上才可以使用 http。

提供方列表 ​

每个提供方显示通过它 已关联 的账户数量、上次运行 及最近一次错误(如有),以及 显示在登录页 开关,用于在不删除提供方的情况下移除登录按钮。

删除提供方会移除通过它关联的身份。修改提供方用来识别用户身份的内容也会如此:它的客户端 ID、issuer 或地址,或者对于 OAuth 2.0(其他),三个地址中的任何一个或 ID 字段。对话框会先给出警告;之后每个账户需要用密码重新关联。

关联账户 ​

每个账户自行关联自己的身份:

  1. 用账户的密码登录。
  2. 在账户菜单中打开 单点登录。
  3. 再次输入当前密码。
  4. 点击 通过 提供方 关联,并在提供方处登录。

此后,该按钮即可让这个账户登录。账户的密码依然可用。一个身份只能关联到一个账户;已关联到其他账户的身份会被拒绝。

主管理员可以在 已关联的身份 中看到所有关联:账户、身份、关联时间和最近登录,每一项都有 取消关联。

需要撤销访问时 ​

取消关联身份、删除账户,或主管理员在 管理员 页面重置其密码,都会移除该账户的关联。恢复命令 nexora-panel admin reset-password 同样会移除它们,因此控制台始终是唯一的找回途径(参见 命令行)。

  • 安全:两步验证和受信任代理。
  • 管理员:关联身份的账户。

文字与图片采用 CC BY 4.0 许可。