认证配置

认证配置

M-Doc 支持 JWT 本地认证和 OIDC 单点登录。


JWT 配置

jwt:
  secret: "your-jwt-secret-key"   # 签名密钥
  expire_hours: 168                # 过期时间(小时),默认 7 天

重要

  • 生产环境必须更改默认密钥
  • 密钥长度建议至少 32 个字符
  • 修改密钥后,所有已登录用户的 Token 将失效

OIDC 配置

OIDC(OpenID Connect)允许用户使用第三方身份提供商登录。

oidc:
  enabled: true
  issuer: "https://your-provider.com"
  client_id: "your-client-id"
  client_secret: "your-client-secret"
  redirect_uri: "https://your-domain.com/auth/callback"
  scopes:
    - openid
    - profile
    - email

配置步骤

  1. 在 OIDC 提供商创建应用
  2. 设置回调 URL 为 https://your-domain.com/auth/callback
  3. 获取 client_idclient_secret
  4. 配置 issuer 为提供商的 OIDC 发现端点
  5. 重启 M-Doc 服务

支持的提供商

任何符合 OIDC 标准的提供商均可集成,包括:

  • Google
  • Azure Active Directory
  • Keycloak
  • Auth0
  • Casdoor
  • 其他 OIDC 兼容服务

OIDC 登录流程

用户点击「OIDC 登录」
    ↓
跳转到 OIDC 提供商登录页面
    ↓
用户完成认证
    ↓
回调到 redirect_uri(前端地址)
    ↓
前端发送 code 到后端
    ↓
后端交换 Token 并获取用户信息
    ↓
创建或关联本地用户,生成 JWT

首次 OIDC 登录会自动创建本地用户账号。

API Key 配置

api_key:
  master_key: "change-this-to-32byte-key-now!!!"
  signature:
    service: "mdoc"
    region: "us-east-1"
    time_window: 900
  • master_key:AES 加密主密钥,用于加密存储 API Key 的 Secret Key,必须 32 字节
  • time_window:签名有效时间窗口(秒),默认 15 分钟