Record Class ClientCredentialsTokenResponse

java.lang.Object
java.lang.Record
io.leandev.appfuse.security.auth.ClientCredentialsTokenResponse
Record Components:
access_token - 短效存取 token
token_type - 固定 Bearer
expires_in - 有效秒數

public record ClientCredentialsTokenResponse(String access_token, String token_type, long expires_in) extends Record

client_credentials 的成功回應(RFC 6749 §4.4.3

不含 refresh token——§4.4.3 明文 SHOULD NOT;M2M 客戶端隨時可用自己的憑證再換一個。

元件名刻意採 snake_case,直接對應 RFC 的線上欄位名(access_token / token_type / expires_in),序列化不需額外標註。回應體在兩種方言下相同——JSON 本就是 RFC 規定的 回應格式,方言差異只在請求錯誤(見 OAuth2TokenException)。

  • Field Details

  • Constructor Details

    • ClientCredentialsTokenResponse

      public ClientCredentialsTokenResponse(String access_token, String token_type, long expires_in)
      Creates an instance of a ClientCredentialsTokenResponse record class.
      Parameters:
      access_token - the value for the access_token record component
      token_type - the value for the token_type record component
      expires_in - the value for the expires_in record component
  • Method Details

    • bearer

      public static ClientCredentialsTokenResponse bearer(String accessToken, long expiresInSeconds)
      以 Bearer 類型建立回應
      Parameters:
      accessToken - 存取 token
      expiresInSeconds - 有效秒數
    • toString

      public final String toString()
      Returns a string representation of this record class. The representation contains the name of the class, followed by the name and value of each of the record components.
      Specified by:
      toString in class Record
      Returns:
      a string representation of this object
    • hashCode

      public final int hashCode()
      Returns a hash code value for this object. The value is derived from the hash code of each of the record components.
      Specified by:
      hashCode in class Record
      Returns:
      a hash code value for this object
    • equals

      public final boolean equals(Object o)
      Indicates whether some other object is "equal to" this one. The objects are equal if the other object is of the same class and if all the record components are equal. Reference components are compared with Objects::equals(Object,Object); primitive components are compared with the compare method from their corresponding wrapper classes.
      Specified by:
      equals in class Record
      Parameters:
      o - the object with which to compare
      Returns:
      true if this object is the same as the o argument; false otherwise.
    • access_token

      public String access_token()
      Returns the value of the access_token record component.
      Returns:
      the value of the access_token record component
    • token_type

      public String token_type()
      Returns the value of the token_type record component.
      Returns:
      the value of the token_type record component
    • expires_in

      public long expires_in()
      Returns the value of the expires_in record component.
      Returns:
      the value of the expires_in record component