Skip to content

认证 API

Lyncore 使用 JWT Bearer 认证。登录换取 access_token / refresh_token,后续请求在 Authorization 头携带。

版本说明:登录接口两者都有,但行为与可用范围不同。OIDC SSO 仅企业版。


POST /api/v1/auth/login

用户登录,签发令牌对。

请求:

json
{
  "username": "admin",
  "password": "your-password"
}
字段类型必填说明
usernamestring用户名,长度 3–64
passwordstring密码,长度 6–128

响应:

json
{
  "code": 0,
  "data": {
    "user": {
      "id": "u_xxx",
      "username": "admin",
      "role": "admin",
      "tenant_id": "default"
    },
    "access_token": "eyJhbGciOi...",
    "refresh_token": "eyJhbGciOi...",
    "token_type": "Bearer",
    "expires_in": 86400
  },
  "message": "ok",
  "request_id": "req_abc123"
}

个人版差异/api/v1/auth/login 为桩实现,接受任意 username/password,直接签发 lite-admin / default / admin 的令牌,不校验密码。个人版为本地单用户,租户固定 default


POST /api/v1/auth/refresh

refresh_token 换取新的令牌对。登录接口限流 5 次/窗口,刷新限流 10 次/窗口。

请求:

json
{
  "refresh_token": "eyJhbGciOi..."
}

响应: 同登录(返回新的 access_token / refresh_token)。


GET /api/v1/auth/me

获取当前登录用户信息与角色。

响应:

json
{
  "code": 0,
  "data": {
    "id": "u_xxx",
    "username": "admin",
    "role": "admin",
    "tenant_id": "default"
  },
  "message": "ok",
  "request_id": "req_abc123"
}

POST /api/v1/auth/logout

登出。企业版会将 refresh token 写入黑名单使其失效;个人版为本地会话清理。


OIDC SSO(企业版)

企业版支持 OIDC 协议接入企业统一身份认证(如企业 IdP)。

端点方法说明
/api/v1/auth/oidc/loginGET跳转 IdP 登录页,发起授权
/api/v1/auth/oidc/callbackGETIdP 回调,完成令牌签发

配置通过环境变量(企业版部署侧):

OIDC_ISSUER=https://your-idp.example.com
OIDC_CLIENT_ID=xxx
OIDC_CLIENT_SECRET=xxx

在请求中使用令牌

bash
curl http://localhost:19824/api/v1/auth/me \
  -H "Authorization: Bearer eyJhbGciOi..."

企业版示例(默认端口 8080):

bash
curl http://localhost:8080/api/v1/auth/me \
  -H "Authorization: Bearer eyJhbGciOi..."

缺失或非法 Authorization 头返回 40100。API Key(企业版管理员通过 /api/v1/admin/users/:id/api-keys 签发)同样以 Bearer <key> 形式使用。

角色模型(企业版)

角色说明
admin管理员:全部权限,含用户/租户/审计/配额管理
user普通用户:对话、Agent、知识库等核心功能
viewer观察者:只读访问