CAS
夜莺( Nightingale )单点登录功能介绍
配置举例说明
# 是否开启 CAS 单点登录,夜莺可以同时开启多个 SSO 方式
Enable = false
# 登录页面会展示 SSO 登录地址的超链接,DisplayName 用于配置超链接的文本内容
DisplayName = 'CAS'
# CAS 登录验证通过后,需要跳转到夜莺,下面是配置夜莺用于 CAS 的回调地址
# 您需要把 n9e.com 替换为您的夜莺地址,/callback/cas 是固定的路径
RedirectURL = 'http://n9e.com/callback/cas'
# CAS SSO 服务器根地址,换成您的 CAS 服务器地址
SsoAddr = 'https://cas.example.com/cas'
# CAS SSO 服务器的登出地址,用户在夜莺中点击登出时会跳转到这个地址,即可完成夜莺和 SSO 的同步登出
SsoLogoutAddr = 'https://cas.example.com/cas/session/end'
# LoginPath 这个配置项,是为了兼容不同的 CAS 版本,因为不同的 CAS 版本登录地址可能不同
# 如果您配置了 LoginPath,则夜莺会在 SsoAddr 的基础上拼接 LoginPath 作为登录地址
# 如果您没有配置 LoginPath,夜莺的逻辑是:
# 1. 如果发现 SsoAddr 中包含 p3 关键字,就设置 LoginPath = '/login'
# 2. 如果没有包含 p3 关键字,就设置 LoginPath = '/cas/login'
LoginPath = ''
# 用户通过 SSO 登录夜莺,夜莺发现用户在夜莺的用户表中不存在时,会自动创建一个用户
# 创建用户的时候,需要给这个用户一个角色,下面是配置默认角色的列表
DefaultRoles = ['Standard']
# 用户通过 SSO 登录夜莺时,夜莺会向 SSO 服务器请求用户信息,并将用户信息写入夜莺的用户表中
# 如果 CoverAttributes = true 则会覆盖夜莺中已有的用户信息,比如手机号、邮箱等。通常这里就是配置为 true 即可
CoverAttributes = true
# 用户在 CAS 中信息字段和夜莺中的用户信息字段不是 100% 一一对应的
# 所以在下面配置:夜莺的各个字段对应 CAS 中的哪些字段
# Username、Nickname、Phone、Email 就是夜莺中的用户信息字段
# 后面的 sub、nickname、phone_number、email 就是 CAS 中的用户字段名
# 请根据您的 CAS 服务器的用户信息字段进行调整
[Attributes]
Username = 'sub'
Nickname = 'nickname'
Phone = 'phone_number'
Email = 'email'
基础配置说明
下面是一个 Authing 的 CAS 配置对应说明:
RedirectURL 默认是’http://n9e-server:port/callback/cas'

| 夜莺配置 | OIDC配置 |
|---|---|
| SsoAddr | 登录端点,不包含/login,/login写到LoginPath参数中 |
| SsoLogoutAddr | 登出端点 |
| LoginPath | 与SsoAddr拼接得到完整的登录地址 |
账号登陆

