OIDC 单点登录
Authorization Code + PKCE。在中枢登录一次;每个联合应用都会识别你并从令牌中读取你的角色。 登录一次即可打开你被允许进入的每一个应用。
Lockatus 是套件的身份中枢:共享的人员名单与共同的门卫。它持有用户、他们的密码、他们的 双因素认证及其按应用分配的角色,并发给每个人一张签名通行证,让他们无需再次登录即可进入 任何应用。
OIDC 单点登录
Authorization Code + PKCE。在中枢登录一次;每个联合应用都会识别你并从令牌中读取你的角色。 登录一次即可打开你被允许进入的每一个应用。
离线校验
中枢用 RS256 签署令牌;各应用依据公开的 JWKS 校验它们,无需回连中枢。即便中枢宕机, 已建立的会话仍可继续工作。
访问矩阵
一张“人员对系统”的网格。每个应用声明自己的角色目录;Lockatus 负责分配它们。 某应用没有任何角色即意味着无访问权——把关发生在矩阵上。
双因素认证与恢复
一次性启用 TOTP(Google Authenticator 或兼容应用),配有一次性恢复码和管理员重置功能。 被每一个应用继承。更改密码会使每一个刷新令牌失效。
那四个单用户应用并不会在内部变成多用户——Lockatus 就是它们的外部用户表。每个应用声明它所 理解的角色;中枢从矩阵中分配它们,应用则按角色把关。更深层的、按用户划分的归属,只存在于 应用真正按个人拥有资源的地方(例如 Selega)。
任何新的家族应用都可从矩阵本身加入,无需重新部署:用 + App 按钮声明它的 slug 和它的 角色目录(以及可选的重定向 URI),然后给用户分配角色。套件的目录已预置好。
联合是可选且非破坏性的——每个应用都在一个 AUTH_MODE=federado 开关(默认关闭)之后保留
其独立登录。在联合模式下,应用把 /login 委托给中枢,并在回调时交换 code、依据 JWKS 校验
RS256 令牌,再初始化自己的会话——因此应用其余的角色把关逻辑保持不变。我们为 Node
(node:crypto,无需额外依赖)和 Python(cryptography)提供了参考 OIDC 客户端。