Skip to content

临时令牌拦截器(temp-token)

临时令牌拦截器用于:

  • 生成一次性或临时有效的令牌。
  • 验证客户端提交的临时令牌 并可选一次性失效。

WARNING

需要结合签名拦截器使用,确保令牌的安全性。

配置示例

yaml
gateway:
  filter:
    temp-token:
      enabled: true
      rules:
        - business-key: bearer               # 业务前缀,可自定义
          field-name: code                   # 客户端提交令牌的字段名(查询参数)
          ip-field-name: x-real-ip           # 客户真实IP所在的请求头(可选)
          expire: 10m                        # 令牌过期时间,支持 Go 时长语法,如 30s, 5m, 1h
          one-verify: true                   # 验证一次后立即失效
          generate-urls:                     # 生成临时令牌的接口路径模式
            - /api/auth/temp-token/generate
          verify-urls:                       # 验证临时令牌的接口路径模式
            - /api/auth/temp-token/verify

说明:

  • generate-urls:命中后返回 JSON { code, expire }code 作为临时令牌。
  • verify-urls:命中后从查询参数读取 field-name 指定的令牌,并验证 I。
  • ip-field-name:当客户端通过请求头传入其真实 IP 时使用该字段获取;未配置时使用网关解析到的 IP。