Skip to content

外部账号登录(OIDC / OAuth)

外部账号登录把 Google、Microsoft、GitHub 或兼容 OIDC 的身份提供商绑定到一个 TOTP 凭据。它只在 TOTP 登录模式 下可用;第三方登录成功后仍使用 fn-knock 的会话和服务范围。

配置流程

  1. 确认认证 Host 已配置为可从公网访问的 HTTPS 地址。
  2. 认证配置 → 外部账号登录 添加提供商。
  3. 将 fn-knock 显示的 Callback URL 原样填入提供商的回调地址列表。
  4. 填入 Client ID、Client Secret;自定义 OIDC 还需要 Issuer。
  5. 完成一次授权,并把外部账号绑定到目标 TOTP 凭据。
  6. 用无痕窗口从登录页验证,再检查该 TOTP 的服务范围。

Callback URL 必须使用访问者实际可见的认证 Host。localhost、容器名、内网 IP 或错误端口会导致第三方提供商拒绝回调。

访问范围

OIDC 不是独立管理员身份。它继承所绑定 TOTP 的子域范围;撤销绑定后,第三方账号不能再登录,但不会删除该 TOTP 本身。

常见问题

现象检查项
登录页没有外部账号按钮当前必须是 TOTP 登录模式,且提供商已启用
提供商拒绝回调Callback URL、HTTPS、允许的 redirect URI、域名和端口
回调后显示未绑定先在 fn-knock 中完成外部账号与 TOTP 的绑定
登录后仍被拒绝检查关联 TOTP 的服务范围和目标 Host 策略

QQ群:1081609274