跳至内容
合一电脑社 · 社团知识库
用户工具
登录
站点工具
搜索
工具
显示页面
修订记录
反向链接
最近更改
媒体管理器
网站地图
登录
>
最近更改
媒体管理器
网站地图
您的足迹:
public:sso
本页面只读。您可以查看源文件,但不能更改它。如果您觉得这是系统错误,请联系管理员。
====== 统一认证(SSO)接入指南 ====== 网站所有需要登录的系统(账本、邮箱、知识库管理区、社员主页编辑、AI 对话身份、博客互动等)共用一个**统一认证网关**。本文说明接入方式与权限体系。 ---- ===== 认证方式 ===== 基于 **Cookie(auth_token)** + 服务端校验: 1. 登录页 `/zhangben/auth/` 登录后,浏览器获得 **auth_token** Cookie(域 hfyzdns.cn,路径 /,HttpOnly+Secure) 2. 站内任意页面/接口凭 Cookie 识别登录状态 3. **校验接口**:`POST /zhangben/auth/api.php?action=me` → `{logged_in, user, display, avatar}` ===== 登录与回跳 ===== * 登录页:`/zhangben/auth/` * 回跳:`/zhangben/auth/?redirect=/目标路径`(登录成功跳回) * 退出:`POST /zhangben/auth/?action=logout`(同时清 wiki 会话) ===== 三种接入模式(SDK 用法)===== **A. 纯前端页面**(如 AI 助手 tts.html) ```js const r = await fetch('/zhangben/auth/api.php?action=me', { method:'POST', credentials:'include' }); const d = await r.json(); if (d.logged_in) { /* 显示用户名/头像,解锁社员功能 */ } ``` **B. Python 后端服务**(如 chat-server.py / create-server.py) ```python # 服务端统一通过共享校验模块验证 auth_token(实现细节见管理区运维文档,不公开) from auth_utils import resolve_user tok = parse_cookie('auth_token') # 从请求 Cookie 取 user = resolve_user(tok) # 返回用户名或 None(服务端可信身份) ``` **C. PHP 服务**(账本/邮箱等,api.php 内置) ```php $tok = $_COOKIE['auth_token'] ?? ''; $u = validateToken($tok); // 返回用户名或 null ``` ===== 权限分级 ===== * **游客**:无 auth_token → 公开内容(公开 wiki、AI 基础功能) * **社员**:任意账号 → 无限 AI 对话、万念造物、本人主页编辑、wiki 社员专区 * **管理层**:role=manager → wiki 管理区(private:*) * **管理员**:role=admin → 全部权限、批量管理(zhangben admin) ===== 相关系统对接状态 ===== * 已接入:账本、邮箱、wiki(autologin)、AI 助手(身份/造物)、博客互动、社员主页、签到 * 资料字段(profiles.json):display 昵称 / group 职务组 / title 头衔 / year 届别 / photo 头像 / motto 签名 > ⚠️ 安全:auth_token 是敏感凭据,禁止写进前端代码或日志;**权限判断必须服务端完成**(前端传参不可信)。 --- ← [[:start|返回知识库首页]]
public/sso.txt
· 最后更改: 2026/08/12 08:40 由
127.0.0.1
页面工具
显示页面
修订记录
反向链接
回到顶部