02 / 身份认证

统一认证与会话

登录协议采用 OpenID Connect(OIDC)。协议端点从发现文档读取,不手写登录页面地址,也不依赖某次登录生成的临时链接。

打开 OIDC 发现文档

Web BFF

浏览器通过业务后端维护会话。

OAuth 令牌由服务端持有,浏览器只使用受保护的会话 Cookie。结合业务后端的会话接入合同配置登录、恢复与退出。

Web SPA / 原生应用

采用 Authorization Code + PKCE(S256)。

使用管理员登记的公共客户端和精确回调地址。浏览器和原生应用中不配置客户端密钥;令牌与业务会话的关系需要一起联调。

# 从发现文档读取授权、令牌和密钥等协议端点。curl --fail --silent --show-error \  'https://sso.iyoucloud.com/realms/iyoucloud/.well-known/openid-configuration'

会话与退出需要一同设计

完成回调后,继续验证业务会话建立、页面刷新恢复和过期处理。退出应采用当前应用已实现的会话接口,按策略区分当前会话、指定终端等范围;不要以清空本地存储代替服务端退出。

授权回调必须校验 state、nonce 和 PKCE。业务接口继续校验身份、租户与资源权限;一次登录成功并不自动授予全部业务权限。