用户与认证
codingas.com 提供用户名密码登录与 API Key 鉴权两套认证体系:管理后台操作使用 Sa-Token 会话认证,调用 /v1/* 模型端点使用 API Key 认证。
| 场景 | 认证方式 | Header |
|---|---|---|
管理 API(/api/v1/*) | Sa-Token 会话 | Authorization: Bearer <token> |
模型调用(/v1/*) | API Key | Authorization: Bearer sk-xxx 或 x-api-key: sk-xxx |
| 登录 / 登出 | 公开 | 无 |
API Key 认证时不解密明文:网关提取 Key 前缀查库,再用 SHA-256 哈希比对,密钥明文仅创建时返回一次。
| 操作 | 方法 | 端点 |
|---|---|---|
| 登录 | POST | /api/v1/auth/login |
| 登出 | POST | /api/v1/auth/logout |
| 当前用户信息 | GET | /api/v1/auth/me |
| 修改密码 | PATCH | /api/v1/auth/me/password |
curl -X POST http://localhost:8080/api/v1/auth/login \ -H "Content-Type: application/json" \ -d '{ "username": "admin", "password": "admin", "rememberMe": false }'响应中的 token 用于后续管理 API 鉴权:
{ "user": { "id": 1, "username": "admin", "role": "ADMIN" }, "token": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"}curl http://localhost:8080/api/v1/auth/me \ -H "Authorization: Bearer $TOKEN"API Key 鉴权
Section titled “API Key 鉴权”调用 /v1/chat/completions、/anthropic/v1/messages 等模型端点时,使用调用方 API Key(sk- 开头,见 调用方密钥管理):
- OpenAI 端点:
Authorization: Bearer sk-xxx - Anthropic 端点:
x-api-key: sk-xxx
| 角色 | 说明 |
|---|---|
ADMIN | 管理员,可访问全部管理 API 与控制台功能 |
USER | 普通用户,仅可管理自己的 API Key 与查看自己的用量 |
OAuth 登录
Section titled “OAuth 登录”⚠️ OAuth 登录(GitHub / Gitee / 飞书 / 钉钉等)为规划功能,当前版本未实现。
User实体预留了oauth_providers字段,但登录端点与配置尚未落地。当前请使用用户名密码登录。
规划中的 OAuth 提供商:
| 提供商 | 状态 |
|---|---|
| GitHub / Gitee / QQ / 企业微信 | 规划中 |
| 飞书 / 钉钉 / GitHub Enterprise | 规划中 |
| 功能 | 状态 |
|---|---|
| 用户 CRUD | ✅ |
| 用户名密码登录/登出 | ✅ |
| OAuth 登录(GitHub, Gitee, QQ, 企业微信) | 规划中 |
| 企业 OAuth(飞书、钉钉、GitHub Enterprise) | 规划中 |