注释类型 OAuth2


OAuth2 请求。自动获取Token、刷新Token,目前只支持 PASSWORD、CLIENT_CREDENTIALS 这样的无回调、无交互的类型。
从以下版本开始:
1.5.0-BETA9
作者:
HouKunLin
  • 元素详细资料

    • tokenUri

      @Nonnull String tokenUri
      请求Token的URL地址,通过请求该地址以获得Token
      返回:
      请求Token的URL地址
    • clientId

      @Nonnull String clientId
      客户端ID
      返回:
      客户端ID
    • clientSecret

      @Nonnull String clientSecret
      客户端秘钥
      返回:
      客户端秘钥
    • cacheId

      String cacheId
      缓存ID,为了确保缓存唯一(防止被其他同类型请求的缓存Token覆盖)建议设置此值。 虽然系统已经预设了一部分缓存key内容,但是也无法保证缓存不被其他配置覆盖,因此可能需要您手动设置该值。 默认使用:tokenUri/clientId/grantType/scope/username 组成一个KEY。 假如设置了 cacheId 将会直接把 cacheId 作为缓冲 KEY。 该参数在我引入了适配微信公众号开发请求 access_token 时发现可能需要这样设置,因为微信公众号传入的是 appid 而不是 clientId, 因此可能会有人把 clientId 设置为空字符串,此时假如系统中管理了两个公众号的接口请求,就可能引起缓存 Token 错乱、被覆盖的可能性。
      返回:
      缓存ID
      默认值:
      ""
    • grantType

      grantType 类型
      返回:
      grantType 类型
      默认值:
      CLIENT_CREDENTIALS
    • grantTypeValue

      String grantTypeValue
      强制设置 grantType 值,该值将会覆盖 grantType 的设置。 由于一些特殊的情况,grantType 的值跟 GrantType 中预设的不一致,可以通过设置该参数来强制覆盖 GrantType 的参数值。 例如微信公众号开发的 grant_type = client_credential ,而预设中的是 CLIENT_CREDENTIALS("client_credentials") 两者不一致导致的请求失败
      返回:
      grantType 值
      默认值:
      ""
    • scope

      String scope
      范围
      返回:
      范围
      默认值:
      ""
    • refreshAtExpiresBefore

      int refreshAtExpiresBefore
      刷新前剩余秒数,即在 expires_in 剩余多少秒进行刷新。默认:600秒5分钟。 不会主动触发刷新,只有在Token有效期最后5分钟内有请求的时候才会触发刷新。 假如刷新失败将一直使用旧的Token,直到最后旧的Token失效时才会重新获取Token
      返回:
      刷新前剩余秒数
      默认值:
      600
    • username

      String username
      用户名
      返回:
      用户名
      默认值:
      ""
    • password

      String password
      密码
      返回:
      密码
      默认值:
      ""
    • query

      String[] query
      其他的Query参数。例如:
       {
       "名称1:值1",
       "名称2:值2",
       "other-info:其他参数值"
       }
       
      返回:
      Query参数列表
      默认值:
      {}
    • body

      String[] body
      其他的请求体参数。例如:
       {
       "名称1:值1",
       "名称2:值2",
       "other-info:其他参数值"
       }
       
      返回:
      请求体参数列表
      默认值:
      {}
    • tokenAt

      Token 信息位置。默认通过Header传输
      返回:
      Token 信息位置
      默认值:
      HEADER
    • tokenVariable

      String tokenVariable
      传输 Token 的参数名,会强制覆盖 tokenAt 的设置。例如:

      Token在Header的时候默认为 Authorization

      Token在Body的时候默认为 access_token

      返回:
      Token 的参数名
      默认值:
      ""
    • tokenPrefix

      String tokenPrefix
      Token 前缀,会强制覆盖 tokenAt 的设置。例如:

      Token在Header的时候默认为 Bearer 前缀

      Token在Body的时候需默认该项设置为空字符串

      返回:
      Token 前缀
      默认值:
      ""
    • OAuth2TokenHandler

      Class<? extends OAuth2DefinitionHandler> OAuth2TokenHandler
      处理认证响应实体
      返回:
      OAuth2Token
      默认值:
      com.dtflys.forest.handler.AutoOAuth2DefinitionHandler.class