KCloud-Platform-IoT KCloud-Platform-IoT
首页
  • 活动

    • KCloud-Platform-IoT 开源三周年快乐&父亲节快乐
  • 指南

    • 后端项目启动
    • 前端项目启动
    • Docker安装
    • Linux常用命令
    • Docker常用命令
    • JVM性能优化
    • 项目配置
    • COLA代码规范
    • OAuth2.1 授权服务器配置
    • OAuth2.1 资源服务器配置
    • OAuth2.1 认证API配置
    • Nacos配置
    • 网关路由配置
赞助
GitHub (opens new window)
首页
  • 活动

    • KCloud-Platform-IoT 开源三周年快乐&父亲节快乐
  • 指南

    • 后端项目启动
    • 前端项目启动
    • Docker安装
    • Linux常用命令
    • Docker常用命令
    • JVM性能优化
    • 项目配置
    • COLA代码规范
    • OAuth2.1 授权服务器配置
    • OAuth2.1 资源服务器配置
    • OAuth2.1 认证API配置
    • Nacos配置
    • 网关路由配置
赞助
GitHub (opens new window)
  • 活动

    • KCloud-Platform-IoT 开源三周年快乐&父亲节快乐
  • 指南

    • 后端项目启动
    • 前端项目启动
    • Docker安装
    • Linux常用命令
    • Docker常用命令
    • JVM性能优化
    • 项目配置
    • COLA代码规范
    • OAuth2.1 授权服务器配置
    • OAuth2.1 资源服务器配置
      • 配置前缀
      • 1. 配置概览
      • 2. 配置项说明
        • 基础配置
        • ignore-patterns 格式
      • 3. 实际配置
      • 4. 忽略认证的端点详解
        • GET 请求
        • POST 请求
        • DELETE 请求
      • 5. 路径匹配模式
      • 6. 配置示例
        • 示例 1:添加新的公开 GET 端点
        • 示例 2:添加新的公开 POST 端点
        • 示例 3:多服务共享配置
        • 示例 4:关闭资源服务器
      • 7. 与授权服务器配置对比
      • 8. 安全建议
        • 生产环境推荐配置
      • 9. 相关链接
    • OAuth2.1 认证API配置
    • Nacos配置
    • 网关路由配置
  • 二开指南
  • 指南
KCloud-Platform-IoT
2026-02-09
目录

OAuth2.1 资源服务器配置

你好呀,我的老朋友!我是老寇,欢迎来到老寇IoT云平台!

本文档详细介绍了基于 OAuth2ResourceServerProperties 的配置。

# 配置前缀

spring:
  security:
    oauth2:
	  resource-server:
      # 所有配置项都在此前缀下

# 1. 配置概览

spring:
  security:
    oauth2:
      resource-server:
        enabled: true
        request-matcher:
          ignore-patterns:
            # HTTP方法:
            #   - 路径模式=服务名

# 2. 配置项说明

# 基础配置

配置项 类型 默认值 说明
enabled boolean true 是否启用 OAuth2 资源服务器
request-matcher.ignore-patterns Map<String, Set<String>> {} 按 HTTP 方法分组的忽略认证路径

# ignore-patterns 格式

request-matcher:
  ignore-patterns:
    HTTP方法:
      - 路径模式=服务名

[!IMPORTANT]

  • HTTP 方法: GET、POST、PUT、DELETE、HEAD、PATCH
  • 路径模式: 支持 Ant 风格通配符(*、**、?)
  • 服务名: 必须与 spring.application.name 一致

# 3. 实际配置

spring:
  application:
    name: ${SERVICE_ID:laokou-auth}
  security:
    oauth2:
      resource-server:
        enabled: true
        request-matcher:
          ignore-patterns:
            GET:
              - /v3/api-docs/**=laokou-auth
              - /actuator/**=laokou-auth
              - /error=laokou-auth
              - /v1/captchas/{uuid}=laokou-auth
              - /v1/secrets=laokou-auth
              - /doc.html=laokou-auth
              - /webjars/**=laokou-auth
            POST:
              - /v1/captchas/send/mail=laokou-auth
              - /v1/captchas/send/mobile=laokou-auth
            DELETE:
              - /v1/tokens=laokou-auth

# 4. 忽略认证的端点详解

# GET 请求

路径 说明 用途
/v3/api-docs/** OpenAPI 文档 Swagger/Knife4j API 文档
/actuator/** Actuator 端点 健康检查、监控指标
/error 错误页面 全局异常处理
/v1/captchas/{uuid} 获取验证码 图形验证码获取
/v1/secrets 获取密钥 加密公钥获取
/doc.html Knife4j 文档 API 文档页面
/webjars/** 静态资源 Swagger UI 资源文件

# POST 请求

路径 说明 用途
/v1/captchas/send/mail 发送邮箱验证码 邮箱登录验证码
/v1/captchas/send/mobile 发送手机验证码 手机登录验证码

# DELETE 请求

路径 说明 用途
/v1/tokens 注销令牌 用户登出

# 5. 路径匹配模式

模式 说明 示例匹配
* 单级任意字符 /api/* 匹配 /api/users
** 多级任意路径 /api/** 匹配 /api/a/b/c
{var} 路径变量 /captchas/{uuid} 匹配 /captchas/abc123

# 6. 配置示例

# 示例 1:添加新的公开 GET 端点

spring:
  security:
    oauth2:
      resource-server:
        request-matcher:
          ignore-patterns:
            GET:
              - /v3/api-docs/**=laokou-auth
              - /actuator/**=laokou-auth
              - /v1/captchas/{uuid}=laokou-auth
              # 新增:公开配置接口
              - /v1/configs/public=laokou-auth

# 示例 2:添加新的公开 POST 端点

spring:
  security:
    oauth2:
      resource-server:
        request-matcher:
          ignore-patterns:
            POST:
              - /v1/captchas/send/mail=laokou-auth
              - /v1/captchas/send/mobile=laokou-auth
              # 新增:用户注册
              - /v1/users/register=laokou-auth

# 示例 3:多服务共享配置

spring:
  security:
    oauth2:
      resource-server:
        request-matcher:
          ignore-patterns:
            GET:
              # 多服务共享健康检查
              - /actuator/health=laokou-auth,laokou-admin,laokou-gateway
              # 仅 auth 服务
              - /v1/captchas/{uuid}=laokou-auth

# 示例 4:关闭资源服务器

spring:
  security:
    oauth2:
      resource-server:
        enabled: false

# 7. 与授权服务器配置对比

授权服务器和资源服务器:

配置 前缀 用途
授权服务器 spring.security.oauth2.authorization-server 签发 Token
资源服务器 spring.security.oauth2.resource-server 验证 Token、保护资源
spring:
  security:
    oauth2:
      # 授权服务器:负责认证和签发令牌
      authorization-server:
        enabled: true
        client:
          default:
            # ... 客户端配置
      # 资源服务器:负责验证令牌和保护 API
      resource-server:
        enabled: true
        request-matcher:
          ignore-patterns:
            # ... 忽略认证的路径

# 8. 安全建议

[!WARNING] 请注意以下安全事项

建议 说明
最小化公开端点 仅开放必要的公开接口
生产环境禁用文档 生产环境应关闭 /v3/api-docs/**、/doc.html
验证码接口限流 对 /v1/captchas/send/* 添加限流保护
监控端点保护 考虑对 /actuator/** 添加 IP 白名单

# 生产环境推荐配置

spring:
  security:
    oauth2:
      resource-server:
        enabled: true
        request-matcher:
          ignore-patterns:
            GET:
              # 仅保留必要端点
              - /actuator/health=laokou-auth
              - /error=laokou-auth
              - /v1/captchas/{uuid}=laokou-auth
              - /v1/secrets=laokou-auth
            POST:
              - /v1/captchas/send/mail=laokou-auth
              - /v1/captchas/send/mobile=laokou-auth
            DELETE:
              - /v1/tokens=laokou-auth

# 9. 相关链接

  • Spring Security OAuth2 Resource Server (opens new window)

我是老寇,我们下次再见啦!

上次更新: 2/9/2026, 2:54:22 PM
OAuth2.1 授权服务器配置
OAuth2.1 认证API配置

← OAuth2.1 授权服务器配置 OAuth2.1 认证API配置→

Theme by Vdoing | Copyright © 2022-2026 laokou | Apache 2.0 License
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式