1. OAuth2 接入
LoliaFRP Open API
  • 前言
  • 用户信息 / 注册登录接口
    • 获取用户信息
      GET
  • 流量相关接口
    • 获取单个隧道的实时数据
      GET
    • 获取用户流量统计
      GET
    • 获取用户每日流量
      GET
    • 获取各隧道流量排行
      GET
    • 获取用户流量汇总
      GET
    • 获取流量扣费明细
      GET
    • 获取单个隧道实时流量
      GET
  • 隧道相关接口
    • 创建隧道
      POST
    • 获取隧道列表
      GET
    • 获取隧道详情
      GET
    • 获取隧道 frpc 配置
      GET
    • 通过 Token 获取隧道配置
      GET
    • 删除隧道
      DELETE
    • 编辑隧道
      PUT
    • 创建 TCP/UDP 双协议隧道
      POST
  • 域名白名单接口
    • 获取域名列表
      GET
    • 添加域名
      POST
    • 验证域名
      POST
    • 删除域名
      DELETE
  • 节点相关接口
    • 获取节点列表
      POST
    • 重置节点隧道 Token
      POST
  • 主页接口
    • 获取主页统计
  • OAuth2 相关接口
    • 管理相关
      • 获取我创建的 OAuth 应用列表
      • 创建 OAuth 应用
      • 获取 OAuth 应用详情
      • 删除 OAuth 应用
      • 更新 OAuth 应用
      • 重置 OAuth 应用密钥
      • 获取已授权的应用列表
      • 撤销对应用的授权
    • 授权相关
      • OAuth2 授权请求(获取授权页信息)
      • 用户确认/拒绝授权
      • 获取或刷新令牌
      • 撤销令牌
  • 公共接口
  • 公告相关接口
    • 获取全部公告
    • 获取顶部公告
    • 获取公告板公告
    • 获取弹窗公告
  • 软件下载
    • 获取软件列表
    • 获取软件详情
    • 获取软件下载源
    • 获取软件版本列表
    • 获取最新软件版本
    • 获取指定软件版本
    • 获取版本文件列表
    • 获取文件下载地址
  • 用户与会话
    • 获取绑定 QQ
    • 获取活跃会话
  • OAuth2 接入
    • 设备授权
      POST
  • 获取客户端最新版本
    GET
  • 数据模型
    • long
    • Release
    • ReleaseVersion
    • NullableReleaseVersion
    • ReleaseSourceChoice
    • ReleaseAsset
    • ReleaseAssetView
    • ReleaseDownload
    • ReleaseError
    • ReleaseDownloadSelectionError
    • ReleaseListResponse
    • ReleaseDetailResponse
    • ReleaseSourcesResponse
    • ReleaseVersionsResponse
    • ReleaseVersionResponse
    • ReleaseAssetsResponse
    • ReleaseDownloadResponse
  1. OAuth2 接入

设备授权

POST
https://api.lolia.link/api/v1/oauth2/device/code
最后修改时间:2026-11-01 13:15:00
无需 Bearer/JWT 登录态;auth=noauth。client_id 必填。confidential 客户端必须在请求体提交正确的 client_secret(client_secret_post);public 客户端无需 secret,传入值也不校验。HTTP Basic 不作为客户端认证方式,不能用 Authorization 头代替请求体 client_id/client_secret。推荐 application/x-www-form-urlencoded;代码 ShouldBind 同时支持 application/json。响应直接使用 OAuth2 JSON,不含 code/msg/data 包装。
RFC 8628 设备授权入口,无需用户登录态和 PKCE。提交 client_id、条件必填的 client_secret 与可选 scope。scope 省略或空字符串时默认 user:read tunnel:read traffic:read;空格分隔,支持 all 及有效资源前缀的 :* 通配符。
成功 HTTP 200 返回 device_code、展示用 user_code、verification_uri、verification_uri_complete、expires_in=900(秒)、interval=5(秒)。用户码为 XXXX-XXXX 格式,字符集 BCDFGHJKLMNPQRSTVWXZ。verification_uri 基于 server.dash_url 拼接 /oauth/device,是供用户访问的前端页面,不是本导出的 API;verification_uri_complete 带 ?user_code=。将页面地址和用户码展示给用户,由用户在浏览器完成授权;客户端随后用 grant_type=urn:ietf:params:oauth:grant-type:device_code 及 device_code 轮询 /oauth2/token。authorization_pending 继续等待,slow_down 按新 interval 退避(每次增加 5 秒),拒绝、过期或无效设备码则停止。成功兑换一次后设备码被消费。
错误:400 invalid_request(请求绑定/必填校验失败)、invalid_scope(无效权限范围);401 invalid_client(客户端不存在、停用或认证失败);500 server_error(内部错误、生成设备码失败、创建设备授权失败)。

请求参数

Body 参数application/x-www-form-urlencoded必填

请求示例代码

Shell
JavaScript
Java
Swift
Go
PHP
Python
HTTP
C
C#
Objective-C
Ruby
OCaml
Dart
R
请求示例请求示例
Shell
JavaScript
Java
Swift
curl --location 'https://api.lolia.link/api/v1/oauth2/device/code' \
--data-urlencode 'client_id=' \
--data-urlencode 'client_secret=' \
--data-urlencode 'scope='

返回响应

🟢200成功
application/json
Bodyapplication/json

示例
{
  "device_code": "example_device_code",
  "user_code": "WDJB-MJHT",
  "verification_uri": "https://dashboard.example.com/oauth/device",
  "verification_uri_complete": "https://dashboard.example.com/oauth/device?user_code=WDJB-MJHT",
  "expires_in": 900,
  "interval": 5
}
🟠400错误 400
🟠401错误 401
🔴500错误 500
修改于 2026-11-01 13:15:00
上一页
获取活跃会话
下一页
获取客户端最新版本
Built with