单点登录 (SSO)

SSO 允许你在需要保护的站点上通过登录门户来创建用户并保护众多不同的页面。虽然其搭建较为复杂,但它既是学习 SSO 的好途径,也能更好地保护你的 ST 实例在互联网上的安全。

SSO 还可以替代 HTTP 基础认证,作为远程连接的访问控制机制。

之所以推荐这样做,是因为 SSO 比 HTTP 基础认证提供了更好的安全性和功能。

AutheliaAuthentik 是两款可与 SillyTavern 配合使用的开源 SSO 提供商。

配置可信代理

只有来自被配置为可信代理的 IP 地址的请求,才能通过转发必要的请求头来认证用户。默认情况下,IPv4 和 IPv6 的回环地址均被信任。要允许其他 IP 通过 SSO 请求头进行认证,请将它们添加到你的 config.yaml 文件中的 sso.trustedProxies 列表:

sso:
  trustedProxies:
    - ::1           # IPv6 loopback address - trusted by default
    - 127.0.0.1     # IPv4 loopback address - trusted by default
    - '192.168.0.1' # Example IP address of a trusted proxy

通过 SSO 登录

如果你的 SSO 提供的用户名与某个 SillyTavern 用户账户的用户标识完全一致,你就可以通过 SSO 以该用户身份登录 SillyTavern。要启用此功能,请在你的 config.yaml 文件中修改以下选项之一:

Authelia

sso:
  autheliaAuth: true

Authentik

sso:
  authentikAuth: true

这两个选项都会增强或替代多用户模式部署中内置的密码管理组件。