Skip to content

class JwtSecurityTokenHandler

cangjie
public class JwtSecurityTokenHandler <: SecurityTokenHandler

功能:提供 JWT 的创建、写出、读取与验证能力。

父类型:

成员概览

成员功能
func canReadToken(String)检查当前处理器是否可以读取指定 JWT 字符串。
func createToken(SecurityTokenDescriptor)根据令牌描述创建 JWT 安全令牌。
func writeToken(SecurityToken)将 JWT 安全令牌写出为紧凑字符串。
func createEncodedJwt(SecurityTokenDescriptor)直接从令牌描述创建已编码的 JWT 字符串。
func validateToken(String, TokenValidationParameters)验证 JWT 并返回验证结果。
func readJwtToken(String)读取 JWT 字符串并解析为安全令牌对象。

func canReadToken(String)

cangjie
public func canReadToken(token: String): Bool

功能:检查当前处理器是否可以读取指定 JWT 字符串。

参数:

  • token: String - 要检查的 JWT 字符串。

返回值:

  • Bool - 格式和长度满足基本要求时返回 true

func createToken(SecurityTokenDescriptor)

cangjie
public func createToken(tokenDescriptor: SecurityTokenDescriptor): SecurityToken

功能:根据令牌描述创建 JWT 安全令牌。

参数:

返回值:

func writeToken(SecurityToken)

cangjie
public func writeToken(securityToken: SecurityToken): String

功能:将 JWT 安全令牌写出为紧凑字符串。

参数:

返回值:

  • String - 紧凑格式的 JWT 字符串。

异常:

  • UnsupportedException - 当令牌缺少签名凭据时抛出。
  • IllegalArgumentException - 当输入对象不是 JwtSecurityToken 时抛出。

func createEncodedJwt(SecurityTokenDescriptor)

cangjie
public func createEncodedJwt(descriptor: SecurityTokenDescriptor): String

功能:直接从令牌描述创建已编码的 JWT 字符串。

参数:

返回值:

  • String - 已签名并编码的 JWT 字符串。

异常:

  • UnsupportedException - 当令牌缺少签名凭据时抛出。
  • IllegalArgumentException - 当生成的令牌不是 JwtSecurityToken 时抛出。

func validateToken(String, TokenValidationParameters)

cangjie
public func validateToken(token: String, validationParameters: TokenValidationParameters): TokenValidationResult

功能:验证 JWT 并返回验证结果。

参数:

  • token: String - 要验证的 JWT 字符串。
  • validationParameters: TokenValidationParameters - 用于控制验证流程的参数。

返回值:

func readJwtToken(String)

cangjie
public func readJwtToken(token: String): JwtSecurityToken

功能:读取 JWT 字符串并解析为安全令牌对象。

参数:

  • token: String - 要解析的 JWT 字符串。

返回值:

异常:

  • SecurityTokenValidationException - 当 JWT 分段错误或 Base64Url 解码失败时抛出。
  • IllegalArgumentException - 当头部或载荷 JSON 无法反序列化时抛出。