终端管理使用说明

概述

终端管理界面

OAuth2 终端管理界面用于配置和管理OAuth2客户端的相关参数,这些参数对应于 sys_oauth_client_details 表中的字段,是实现OAuth2认证和授权的核心配置。

学习资源

推荐阅读:OAuth 2.0 协议详解

基础配置参数

客户端标识

配置示例

前端配置客户端参数,例如默认配置为 pig:pig(客户端ID:密钥)

客户端配置示例

客户端ID (client_id)

  • 字段说明: 客户端的唯一标识符
  • 对应数据库字段: client_id
  • 作用: 在OAuth2流程中标识不同的客户端应用
  • 配置要求: 必填项,需要保证全局唯一性
  • 示例: pig
唯一性要求

client_id 必须全局唯一,避免与其他客户端冲突。

密钥 (client_secret)

  • 字段说明: 客户端访问密钥
  • 对应数据库字段: client_secret
  • 作用: 验证客户端身份的凭证
安全提示

client_secret 是敏感信息,务必妥善保管,不要泄露到客户端代码中。

域配置

域 (scope)

  • 字段说明: 客户端申请的权限范围
  • 对应数据库字段: scope
  • 作用: 定义客户端可以访问的资源范围
  • 可选值:
    • read: 读取权限
    • write: 写入权限
    • trust: 信任权限
    • 自定义权限域
  • 配置格式: 多个权限用逗号分隔,如 read,write
  • 示例: server (如截图所示)

授权配置

授权模式 (authorized_grant_types)

  • 字段说明: 客户端支持的OAuth2授权模式
  • 对应数据库字段: authorized_grant_types
  • 可选模式:
授权模式使用场景
implicit (简化模式)已经废弃
refresh_token (刷新模式)刷新访问令牌
client_credentials (客户端模式)服务到服务之间简单的认证
authorization_code (授权码模式)开放平台,提供给第三方登录
password (密码模式)高度信任的客户端(如 pigx-ui 登录)
mobile (验证码模式)高度信任的客户端(如 pigx-ui 登录)
授权模式选择

根据实际业务场景选择合适的授权模式,避免使用已废弃的简化模式。

时效性配置

令牌时效 (秒)

  • 字段说明: 访问令牌的有效时间
  • 对应数据库字段: access_token_validity
  • 默认值: 43200 秒 (12小时)
  • 配置建议:
    • 根据安全需求调整
    • 移动应用可适当延长
    • 高敏感应用应缩短
时效配置建议

根据安全需求合理配置令牌时效,移动应用可适当延长,高敏感应用应缩短时效。

刷新时效 (秒)

  • 字段说明: 刷新令牌的有效时间
  • 对应数据库字段: refresh_token_validity
  • 默认值: 2592000 秒 (30天)
  • 配置说明:
    • 通常比访问令牌时效更长
    • 用于获取新的访问令牌
    • 过期后需要重新授权
刷新令牌作用

刷新令牌用于在访问令牌过期后获取新的访问令牌,避免用户频繁登录。

安全属性配置

验证码开关

  • 配置选项:
    • : 启用验证码验证
    • : 关闭验证码验证

允许同时在线

  • 字段说明: 是否允许同一用户同时在线
  • 配置选项:
    • : 允许多会话并存
    • : 只允许单一会话

前端密码加密

  • 字段说明: 前端登录是否对密码进行加密传输
  • 作用: 提高传输过程中的安全性
  • 配置选项:
    • : 启用前端密码加密
    • : 关闭前端密码加密
安全建议

建议启用前端密码加密,提高密码传输过程中的安全性。

重定向URI (web_server_redirect_uri)

  • 字段说明: 授权完成后的重定向地址
  • 对应数据库字段: web_server_redirect_uri
  • 作用: 在授权码模式和简化模式中使用
  • 安全要求:
    • 必须是预先注册的URI
    • 支持HTTPS协议
    • 防止重定向攻击
安全要求

重定向URI必须是预先注册的HTTPS地址,防止重定向攻击和信息泄露。

资源ID (resource_ids)

  • 字段说明: 客户端可访问的资源服务器标识
  • 对应数据库字段: resource_ids
  • 作用: 限制客户端访问特定的资源服务器
  • 配置格式: 多个资源ID用逗号分隔

权限 (authorities)

  • 字段说明: 客户端拥有的Spring Security权限
  • 对应数据库字段: authorities
  • 作用: 基于角色的访问控制
  • 示例: ROLE_CLIENT, ROLE_TRUSTED_CLIENT

自动批准 (autoapprove)

  • 字段说明: 是否自动批准授权请求
  • 对应数据库字段: autoapprove
  • 配置选项:
    • true: 自动批准所有权限
    • false: 需要用户手动确认
    • read: 自动批准读权限
    • write: 自动批准写权限
用户体验

对于高度信任的客户端,可以设置为 true 自动批准,提升用户体验。

配置示例

以下是一个完整的终端配置示例:

{
  "client_id": "pig",
  "client_secret": "pig",
  "scope": "server",
  "authorized_grant_types": "password,refresh_token,mobile",
  "access_token_validity": 43200,
  "refresh_token_validity": 2592000,
  "autoapprove": true
}
生产环境配置

在生产环境中,务必修改默认的 client_secret,并根据实际需求配置授权模式和令牌时效。