sys_oauth_client_details 表中的字段,是实现OAuth2认证和授权的核心配置。
OAuth 2.0 协议详解
基础配置参数
客户端标识
对应 前端配置客户端参数比如默认 pig:pig (客户端端Id:密钥)
客户端端Id (client_id)
- 字段说明: 客户端的唯一标识符
- 对应数据库字段:
client_id - 作用: 在OAuth2流程中标识不同的客户端应用
- 配置要求: 必填项,需要保证全局唯一性
- 示例:
pig
密钥 (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协议
- 防止重定向攻击
资源ID (resource_ids)
- 字段说明: 客户端可访问的资源服务器标识
- 对应数据库字段:
resource_ids - 作用: 限制客户端访问特定的资源服务器
- 配置格式: 多个资源ID用逗号分隔
权限 (authorities)
- 字段说明: 客户端拥有的Spring Security权限
- 对应数据库字段:
authorities - 作用: 基于角色的访问控制
- 示例:
ROLE_CLIENT,ROLE_TRUSTED_CLIENT
自动批准 (autoapprove)
- 字段说明: 是否自动批准授权请求
- 对应数据库字段:
autoapprove - 配置选项:
true: 自动批准所有权限false: 需要用户手动确认read: 自动批准读权限write: 自动批准写权限