---
title: "创建OAuth2提供商"
method: POST
path: "/oauth2/providers"
tags: ["OAuth2"]
---

# 创建OAuth2提供商

`POST /oauth2/providers`

创建新的OAuth2提供商配置

## Request body

- Oauth2CreateProviderRequest
  - `authUrl` string, required
  - `avatarField` string
  - `clientId` string, required
  - `clientSecret` string, required
  - `defaultLevel` integer
  - `displayName` string, required
  - `emailField` string
  - `enabled` boolean
  - `levelMapping` object
  - `maxRegistrations` integer
  - `name` string, required
  - `nicknameField` string
  - `providerType` 'preset' | 'generic', required — preset 或 generic
  - `redirectUrl` string, required
  - `sort` integer
  - `tokenUrl` string, required
  - `trustLevelField` string
  - `userIdField` string
  - `userInfoUrl` string, required
  - `usernameField` string

## Response `200`

OK

- object
  - `code` integer
  - `data` Oauth2OAuth2Provider
    - `authUrl` string — OAuth2授权地址
    - `avatarField` string — 头像字段映射
    - `clientId` string — OAuth2配置
    - `clientSecret` string — OAuth2客户端密钥
    - `createdAt` string
    - `currentRegistrations` integer — 当前注册数量
    - `defaultLevel` integer — 默认等级（当没有等级映射或无法提取等级时使用）
    - `displayName` string — 显示名称
    - `emailField` string — 邮箱字段映射
    - `enabled` boolean — 是否启用
    - `id` integer
    - `levelMapping` string — 等级映射（JSON字符串，如 {"0":1,"1":2,"2":3}） 映射外部信任等级到系统用户等级
    - `maxRegistrations` integer — 注册限制
    - `name` string — 基础信息
    - `nicknameField` string — 可选字段映射
    - `providerType` string — 提供商类型（preset:预设, generic:通用）
    - `redirectUrl` string — OAuth2回调地址
    - `sort` integer — 显示顺序
    - `tokenUrl` string — OAuth2令牌地址
    - `totalUsers` integer — 统计信息
    - `trustLevelField` string — 信任等级字段映射（可选，如LinuxDo的trust_level）
    - `updatedAt` string
    - `userIdField` string — 字段映射（支持嵌套字段，如 user.profile.name）
    - `userInfoUrl` string — OAuth2用户信息地址
    - `usernameField` string — 用户名字段映射
  - `message` string
  - `msg` string

---

[API](https://skmtc.net/oneclickvirt/apis/oneclickvirt-api.md) · [All operations](https://skmtc.net/oneclickvirt/apis/oneclickvirt-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/oneclickvirt/oneclickvirt-api/revisions/1f98232296de/schema)
