Packages

t

pdi.jwt

JwtCore

trait JwtCore[H, C] extends AnyRef

Provide the main logic around Base64 encoding / decoding and signature using the correct algorithm. H and C types are respesctively the header type and the claim type. For the core project, they will be String but you are free to extend this trait using other types like JsObject or anything else.

Please, check implementations, like Jwt, for code samples.

H

the type of the extracted header from a JSON Web Token

C

the type of the extracted claim from a JSON Web Token

Linear Supertypes
Known Subclasses
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. JwtCore
  2. AnyRef
  3. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. Protected

Concrete Value Members

  1. def decode(token: String, key: PublicKey): Try[C]
  2. def decode(token: String, key: PublicKey, options: JwtOptions): Try[C]

    Same as decodeAll but only return the claim

    Same as decodeAll but only return the claim

    token

    a JSON Web Token as a Base64 url-safe encoded String which can be used inside an HTTP header

    key

    the key that will be used to check the token signature

    returns

    if successful, the claim of the token in its correct type

  3. def decode(token: String, key: PublicKey, algorithms: Seq[JwtAsymmetricAlgorithm]): Try[C]
  4. def decode(token: String, key: PublicKey, algorithms: Seq[JwtAsymmetricAlgorithm], options: JwtOptions): Try[C]

    Same as decodeAll but only return the claim

    Same as decodeAll but only return the claim

    token

    a JSON Web Token as a Base64 url-safe encoded String which can be used inside an HTTP header

    key

    the key that will be used to check the token signature

    algorithms

    a list of possible algorithms that the token can use. See Security concerns for more infos.

    returns

    if successful, the claim of the token in its correct type

  5. def decode(token: String, key: SecretKey): Try[C]
  6. def decode(token: String, key: SecretKey, options: JwtOptions): Try[C]

    Same as decodeAll but only return the claim

    Same as decodeAll but only return the claim

    token

    a JSON Web Token as a Base64 url-safe encoded String which can be used inside an HTTP header

    key

    the key that will be used to check the token signature

    returns

    if successful, the claim of the token in its correct type

  7. def decode(token: String, key: SecretKey, algorithms: Seq[JwtHmacAlgorithm]): Try[C]
  8. def decode(token: String, key: SecretKey, algorithms: Seq[JwtHmacAlgorithm], options: JwtOptions): Try[C]

    Same as decodeAll but only return the claim

    Same as decodeAll but only return the claim

    token

    a JSON Web Token as a Base64 url-safe encoded String which can be used inside an HTTP header

    key

    the key that will be used to check the token signature

    algorithms

    a list of possible algorithms that the token can use. See Security concerns for more infos.

    returns

    if successful, the claim of the token in its correct type

  9. def decode(token: String, key: String, algorithms: => Seq[JwtAsymmetricAlgorithm]): Try[C]
  10. def decode(token: String, key: String, algorithms: => Seq[JwtAsymmetricAlgorithm], options: JwtOptions): Try[C]

    Same as decodeAll but only return the claim

    Same as decodeAll but only return the claim

    token

    a JSON Web Token as a Base64 url-safe encoded String which can be used inside an HTTP header

    key

    the key that will be used to check the token signature

    algorithms

    a list of possible algorithms that the token can use. See Security concerns for more infos.

    returns

    if successful, the claim of the token in its correct type

  11. def decode(token: String, key: String, algorithms: Seq[JwtHmacAlgorithm]): Try[C]
  12. def decode(token: String, key: String, algorithms: Seq[JwtHmacAlgorithm], options: JwtOptions): Try[C]

    Same as decodeAll but only return the claim

    Same as decodeAll but only return the claim

    token

    a JSON Web Token as a Base64 url-safe encoded String which can be used inside an HTTP header

    key

    the key that will be used to check the token signature

    algorithms

    a list of possible algorithms that the token can use. See Security concerns for more infos.

    returns

    if successful, the claim of the token in its correct type

  13. def decode(token: String): Try[C]
  14. def decode(token: String, options: JwtOptions): Try[C]

    Same as decodeAll but only return the claim

    Same as decodeAll but only return the claim

    token

    a JSON Web Token as a Base64 url-safe encoded String which can be used inside an HTTP header

    returns

    if successful, the claim of the token in its correct type

  15. def decodeAll(token: String, key: PublicKey): Try[(H, C, String)]
  16. def decodeAll(token: String, key: PublicKey, options: JwtOptions): Try[(H, C, String)]

    Same as decodeRawAll but return the real header and claim types

    Same as decodeRawAll but return the real header and claim types

    token

    a JSON Web Token as a Base64 url-safe encoded String which can be used inside an HTTP header

    key

    the key that will be used to check the token signature

    returns

    if successful, a tuple representing the header, the claim and eventually the signature

  17. def decodeAll(token: String, key: PublicKey, algorithms: Seq[JwtAsymmetricAlgorithm]): Try[(H, C, String)]
  18. def decodeAll(token: String, key: PublicKey, algorithms: Seq[JwtAsymmetricAlgorithm], options: JwtOptions): Try[(H, C, String)]

    Same as decodeRawAll but return the real header and claim types

    Same as decodeRawAll but return the real header and claim types

    token

    a JSON Web Token as a Base64 url-safe encoded String which can be used inside an HTTP header

    key

    the key that will be used to check the token signature

    algorithms

    a list of possible algorithms that the token can use. See Security concerns for more infos.

    returns

    if successful, a tuple representing the header, the claim and eventually the signature

  19. def decodeAll(token: String, key: SecretKey): Try[(H, C, String)]
  20. def decodeAll(token: String, key: SecretKey, options: JwtOptions): Try[(H, C, String)]

    Same as decodeRawAll but return the real header and claim types

    Same as decodeRawAll but return the real header and claim types

    token

    a JSON Web Token as a Base64 url-safe encoded String which can be used inside an HTTP header

    key

    the key that will be used to check the token signature

    returns

    if successful, a tuple representing the header, the claim and eventually the signature

  21. def decodeAll(token: String, key: SecretKey, algorithms: Seq[JwtHmacAlgorithm]): Try[(H, C, String)]
  22. def decodeAll(token: String, key: SecretKey, algorithms: Seq[JwtHmacAlgorithm], options: JwtOptions): Try[(H, C, String)]

    Same as decodeRawAll but return the real header and claim types

    Same as decodeRawAll but return the real header and claim types

    token

    a JSON Web Token as a Base64 url-safe encoded String which can be used inside an HTTP header

    key

    the key that will be used to check the token signature

    algorithms

    a list of possible algorithms that the token can use. See Security concerns for more infos.

    returns

    if successful, a tuple representing the header, the claim and eventually the signature

  23. def decodeAll(token: String, key: String, algorithms: => Seq[JwtAsymmetricAlgorithm]): Try[(H, C, String)]
  24. def decodeAll(token: String, key: String, algorithms: => Seq[JwtAsymmetricAlgorithm], options: JwtOptions): Try[(H, C, String)]

    Same as decodeRawAll but return the real header and claim types

    Same as decodeRawAll but return the real header and claim types

    token

    a JSON Web Token as a Base64 url-safe encoded String which can be used inside an HTTP header

    key

    the key that will be used to check the token signature

    algorithms

    a list of possible algorithms that the token can use. See Security concerns for more infos.

    returns

    if successful, a tuple representing the header, the claim and eventually the signature

  25. def decodeAll(token: String, key: String, algorithms: Seq[JwtHmacAlgorithm]): Try[(H, C, String)]
  26. def decodeAll(token: String, key: String, algorithms: Seq[JwtHmacAlgorithm], options: JwtOptions): Try[(H, C, String)]

    Same as decodeRawAll but return the real header and claim types

    Same as decodeRawAll but return the real header and claim types

    token

    a JSON Web Token as a Base64 url-safe encoded String which can be used inside an HTTP header

    key

    the key that will be used to check the token signature

    algorithms

    a list of possible algorithms that the token can use. See Security concerns for more infos.

    returns

    if successful, a tuple representing the header, the claim and eventually the signature

  27. def decodeAll(token: String): Try[(H, C, String)]
  28. def decodeAll(token: String, options: JwtOptions): Try[(H, C, String)]

    Same as decodeRawAll but return the real header and claim types

    Same as decodeRawAll but return the real header and claim types

    token

    a JSON Web Token as a Base64 url-safe encoded String which can be used inside an HTTP header

    returns

    if successful, a tuple representing the header, the claim and eventually the signature

  29. def decodeRaw(token: String, key: PublicKey): Try[String]
  30. def decodeRaw(token: String, key: PublicKey, options: JwtOptions): Try[String]

    Same as decodeRawAll but only return the claim (you only care about the claim most of the time)

    Same as decodeRawAll but only return the claim (you only care about the claim most of the time)

    token

    a JSON Web Token as a Base64 url-safe encoded String which can be used inside an HTTP header

    key

    the key that will be used to check the token signature

    returns

    if successful, a string representing the JSON version of the claim

  31. def decodeRaw(token: String, key: PublicKey, algorithms: Seq[JwtAsymmetricAlgorithm]): Try[String]
  32. def decodeRaw(token: String, key: PublicKey, algorithms: Seq[JwtAsymmetricAlgorithm], options: JwtOptions): Try[String]

    Same as decodeRawAll but only return the claim (you only care about the claim most of the time)

    Same as decodeRawAll but only return the claim (you only care about the claim most of the time)

    token

    a JSON Web Token as a Base64 url-safe encoded String which can be used inside an HTTP header

    key

    the key that will be used to check the token signature

    algorithms

    a list of possible algorithms that the token can use. See Security concerns for more infos.

    returns

    if successful, a string representing the JSON version of the claim

  33. def decodeRaw(token: String, key: SecretKey): Try[String]
  34. def decodeRaw(token: String, key: SecretKey, options: JwtOptions): Try[String]

    Same as decodeRawAll but only return the claim (you only care about the claim most of the time)

    Same as decodeRawAll but only return the claim (you only care about the claim most of the time)

    token

    a JSON Web Token as a Base64 url-safe encoded String which can be used inside an HTTP header

    key

    the key that will be used to check the token signature

    returns

    if successful, a string representing the JSON version of the claim

  35. def decodeRaw(token: String, key: SecretKey, algorithms: Seq[JwtHmacAlgorithm]): Try[String]
  36. def decodeRaw(token: String, key: SecretKey, algorithms: Seq[JwtHmacAlgorithm], options: JwtOptions): Try[String]

    Same as decodeRawAll but only return the claim (you only care about the claim most of the time)

    Same as decodeRawAll but only return the claim (you only care about the claim most of the time)

    token

    a JSON Web Token as a Base64 url-safe encoded String which can be used inside an HTTP header

    key

    the key that will be used to check the token signature

    algorithms

    a list of possible algorithms that the token can use. See Security concerns for more infos.

    returns

    if successful, a string representing the JSON version of the claim

  37. def decodeRaw(token: String, key: String, algorithms: => Seq[JwtAsymmetricAlgorithm]): Try[String]
  38. def decodeRaw(token: String, key: String, algorithms: => Seq[JwtAsymmetricAlgorithm], options: JwtOptions): Try[String]

    Same as decodeRawAll but only return the claim (you only care about the claim most of the time)

    Same as decodeRawAll but only return the claim (you only care about the claim most of the time)

    token

    a JSON Web Token as a Base64 url-safe encoded String which can be used inside an HTTP header

    key

    the key that will be used to check the token signature

    algorithms

    a list of possible algorithms that the token can use. See Security concerns for more infos.

    returns

    if successful, a string representing the JSON version of the claim

  39. def decodeRaw(token: String, key: String, algorithms: Seq[JwtHmacAlgorithm]): Try[String]
  40. def decodeRaw(token: String, key: String, algorithms: Seq[JwtHmacAlgorithm], options: JwtOptions): Try[String]

    Same as decodeRawAll but only return the claim (you only care about the claim most of the time)

    Same as decodeRawAll but only return the claim (you only care about the claim most of the time)

    token

    a JSON Web Token as a Base64 url-safe encoded String which can be used inside an HTTP header

    key

    the key that will be used to check the token signature

    algorithms

    a list of possible algorithms that the token can use. See Security concerns for more infos.

    returns

    if successful, a string representing the JSON version of the claim

  41. def decodeRaw(token: String): Try[String]
  42. def decodeRaw(token: String, options: JwtOptions): Try[String]

    Same as decodeRawAll but only return the claim (you only care about the claim most of the time)

    Same as decodeRawAll but only return the claim (you only care about the claim most of the time)

    token

    a JSON Web Token as a Base64 url-safe encoded String which can be used inside an HTTP header

    returns

    if successful, a string representing the JSON version of the claim

  43. def decodeRawAll(token: String, key: PublicKey): Try[(String, String, String)]
  44. def decodeRawAll(token: String, key: PublicKey, options: JwtOptions): Try[(String, String, String)]
  45. def decodeRawAll(token: String, key: PublicKey, algorithms: Seq[JwtAsymmetricAlgorithm]): Try[(String, String, String)]
  46. def decodeRawAll(token: String, key: PublicKey, algorithms: Seq[JwtAsymmetricAlgorithm], options: JwtOptions): Try[(String, String, String)]

    Will try to decode a JSON Web Token to raw strings using an asymmetric algorithm

    Will try to decode a JSON Web Token to raw strings using an asymmetric algorithm

    token

    a JSON Web Token as a Base64 url-safe encoded String which can be used inside an HTTP header

    key

    the key that will be used to check the token signature

    algorithms

    a list of possible algorithms that the token can use. See Security concerns for more infos.

    returns

    if successful, a tuple of 3 strings, the header, the claim and the signature

  47. def decodeRawAll(token: String, key: SecretKey): Try[(String, String, String)]
  48. def decodeRawAll(token: String, key: SecretKey, options: JwtOptions): Try[(String, String, String)]
  49. def decodeRawAll(token: String, key: SecretKey, algorithms: Seq[JwtHmacAlgorithm]): Try[(String, String, String)]
  50. def decodeRawAll(token: String, key: SecretKey, algorithms: Seq[JwtHmacAlgorithm], options: JwtOptions): Try[(String, String, String)]

    Will try to decode a JSON Web Token to raw strings using a HMAC algorithm

    Will try to decode a JSON Web Token to raw strings using a HMAC algorithm

    token

    a JSON Web Token as a Base64 url-safe encoded String which can be used inside an HTTP header

    key

    the key that will be used to check the token signature

    algorithms

    a list of possible algorithms that the token can use. See Security concerns for more infos.

    returns

    if successful, a tuple of 3 strings, the header, the claim and the signature

  51. def decodeRawAll(token: String, key: String, algorithms: => Seq[JwtAsymmetricAlgorithm]): Try[(String, String, String)]
  52. def decodeRawAll(token: String, key: String, algorithms: => Seq[JwtAsymmetricAlgorithm], options: JwtOptions): Try[(String, String, String)]

    Will try to decode a JSON Web Token to raw strings using an asymmetric algorithm

    Will try to decode a JSON Web Token to raw strings using an asymmetric algorithm

    token

    a JSON Web Token as a Base64 url-safe encoded String which can be used inside an HTTP header

    key

    the key that will be used to check the token signature

    algorithms

    a list of possible algorithms that the token can use. See Security concerns for more infos.

    returns

    if successful, a tuple of 3 strings, the header, the claim and the signature

  53. def decodeRawAll(token: String, key: String, algorithms: Seq[JwtHmacAlgorithm]): Try[(String, String, String)]
  54. def decodeRawAll(token: String, key: String, algorithms: Seq[JwtHmacAlgorithm], options: JwtOptions): Try[(String, String, String)]

    Will try to decode a JSON Web Token to raw strings using a HMAC algorithm

    Will try to decode a JSON Web Token to raw strings using a HMAC algorithm

    token

    a JSON Web Token as a Base64 url-safe encoded String which can be used inside an HTTP header

    key

    the key that will be used to check the token signature

    algorithms

    a list of possible algorithms that the token can use. See Security concerns for more infos.

    returns

    if successful, a tuple of 3 strings, the header, the claim and the signature

  55. def decodeRawAll(token: String): Try[(String, String, String)]
  56. def decodeRawAll(token: String, options: JwtOptions): Try[(String, String, String)]

    Will try to decode a JSON Web Token to raw strings

    Will try to decode a JSON Web Token to raw strings

    token

    a JSON Web Token as a Base64 url-safe encoded String which can be used inside an HTTP header

    returns

    if successful, a tuple of 3 strings, the header, the claim and the signature

  57. def encode(header: JwtHeader, claim: JwtClaim, key: Key): String

    An alias of encode if you only want to pass a string as the key, the algorithm will be deduced from the header.

    An alias of encode if you only want to pass a string as the key, the algorithm will be deduced from the header.

    header

    the header to stringify as a JSON before encoding the token

    claim

    the claim to stringify as a JSON before encoding the token

    key

    the secret key to use to sign the token (note that the algorithm will be deduced from the header)

    returns

    a JSON Web Token as a Base64 url-safe encoded String which can be used inside an HTTP header

  58. def encode(header: JwtHeader, claim: JwtClaim, key: String): String

    An alias of encode if you only want to pass a string as the key, the algorithm will be deduced from the header.

    An alias of encode if you only want to pass a string as the key, the algorithm will be deduced from the header.

    header

    the header to stringify as a JSON before encoding the token

    claim

    the claim to stringify as a JSON before encoding the token

    key

    the secret key to use to sign the token (note that the algorithm will be deduced from the header)

    returns

    a JSON Web Token as a Base64 url-safe encoded String which can be used inside an HTTP header

  59. def encode(header: JwtHeader, claim: JwtClaim): String

    An alias to encode if you want to use case classes for the header and the claim rather than strings, they will just be stringified to JSON format.

    An alias to encode if you want to use case classes for the header and the claim rather than strings, they will just be stringified to JSON format.

    header

    the header to stringify as a JSON before encoding the token

    claim

    the claim to stringify as a JSON before encoding the token

    returns

    a JSON Web Token as a Base64 url-safe encoded String which can be used inside an HTTP header

  60. def encode(claim: JwtClaim, key: PrivateKey, algorithm: JwtAsymmetricAlgorithm): String

    An alias to encode which will provide an automatically generated header and use the claim as a case class.

    An alias to encode which will provide an automatically generated header and use the claim as a case class.

    claim

    the claim of the JSON Web Token

    key

    the key that will be used to check the token signature

    algorithm

    the algorithm to sign the token

    returns

    a JSON Web Token as a Base64 url-safe encoded String which can be used inside an HTTP header

  61. def encode(claim: JwtClaim, key: SecretKey, algorithm: JwtHmacAlgorithm): String

    An alias to encode which will provide an automatically generated header and use the claim as a case class.

    An alias to encode which will provide an automatically generated header and use the claim as a case class.

    claim

    the claim of the JSON Web Token

    key

    the key that will be used to check the token signature

    algorithm

    the algorithm to sign the token

    returns

    a JSON Web Token as a Base64 url-safe encoded String which can be used inside an HTTP header

  62. def encode(claim: JwtClaim, key: String, algorithm: JwtAlgorithm): String

    An alias to encode which will provide an automatically generated header and use the claim as a case class.

    An alias to encode which will provide an automatically generated header and use the claim as a case class.

    claim

    the claim of the JSON Web Token

    key

    the key that will be used to check the token signature

    algorithm

    the algorithm to sign the token

    returns

    a JSON Web Token as a Base64 url-safe encoded String which can be used inside an HTTP header

  63. def encode(claim: JwtClaim): String

    An alias to encode which will provide an automatically generated header and setting both key and algorithm to None.

    An alias to encode which will provide an automatically generated header and setting both key and algorithm to None.

    claim

    the claim of the JSON Web Token

    returns

    a JSON Web Token as a Base64 url-safe encoded String which can be used inside an HTTP header

  64. def encode(claim: String, key: PrivateKey, algorithm: JwtAsymmetricAlgorithm): String

    An alias to encode which will provide an automatically generated header and allowing you to get rid of Option for the key and the algorithm.

    An alias to encode which will provide an automatically generated header and allowing you to get rid of Option for the key and the algorithm.

    claim

    a valid stringified JSON representing the claim of the token

    key

    the key that will be used to check the token signature

    algorithm

    the algorithm to sign the token

    returns

    a JSON Web Token as a Base64 url-safe encoded String which can be used inside an HTTP header

  65. def encode(claim: String, key: SecretKey, algorithm: JwtHmacAlgorithm): String

    An alias to encode which will provide an automatically generated header and allowing you to get rid of Option for the key and the algorithm.

    An alias to encode which will provide an automatically generated header and allowing you to get rid of Option for the key and the algorithm.

    claim

    a valid stringified JSON representing the claim of the token

    key

    the key that will be used to check the token signature

    algorithm

    the algorithm to sign the token

    returns

    a JSON Web Token as a Base64 url-safe encoded String which can be used inside an HTTP header

  66. def encode(claim: String, key: String, algorithm: JwtAlgorithm): String

    An alias to encode which will provide an automatically generated header and allowing you to get rid of Option for the key and the algorithm.

    An alias to encode which will provide an automatically generated header and allowing you to get rid of Option for the key and the algorithm.

    claim

    a valid stringified JSON representing the claim of the token

    key

    the key that will be used to check the token signature

    algorithm

    the algorithm to sign the token

    returns

    a JSON Web Token as a Base64 url-safe encoded String which can be used inside an HTTP header

  67. def encode(claim: String): String

    An alias to encode which will provide an automatically generated header.

    An alias to encode which will provide an automatically generated header.

    claim

    a valid stringified JSON representing the claim of the token

    returns

    a JSON Web Token as a Base64 url-safe encoded String which can be used inside an HTTP header

  68. def encode(header: String, claim: String, key: PrivateKey, algorithm: JwtAsymmetricAlgorithm): String
  69. def encode(header: String, claim: String, key: SecretKey, algorithm: JwtHmacAlgorithm): String
  70. def encode(header: String, claim: String, key: String, algorithm: JwtAlgorithm): String

    Encode a JSON Web Token from its different parts.

    Encode a JSON Web Token from its different parts. Both the header and the claim will be encoded to Base64 url-safe, then a signature will be eventually generated from it if you did pass a key and an algorithm, and finally, those three parts will be merged as a single string, using dots as separator.

    header

    a valid stringified JSON representing the header of the token

    claim

    a valid stringified JSON representing the claim of the token

    key

    the key that will be used to check the token signature

    algorithm

    the algorithm to sign the token

    returns

    a JSON Web Token as a Base64 url-safe encoded String which can be used inside an HTTP header

  71. def encode(header: String, claim: String): String
  72. def isValid(token: String, key: PublicKey): Boolean
  73. def isValid(token: String, key: PublicKey, options: JwtOptions): Boolean
  74. def isValid(token: String, key: PublicKey, algorithms: Seq[JwtAsymmetricAlgorithm]): Boolean
  75. def isValid(token: String, key: PublicKey, algorithms: Seq[JwtAsymmetricAlgorithm], options: JwtOptions): Boolean

    An alias for isValid if you want to directly pass a string as the key

    An alias for isValid if you want to directly pass a string as the key

    token

    a JSON Web Token as a Base64 url-safe encoded String which can be used inside an HTTP header

    key

    the key that will be used to check the token signature

    algorithms

    a list of possible algorithms that the token can use. See Security concerns for more infos.

    returns

    a boolean value indicating if the token is valid or not

  76. def isValid(token: String, key: SecretKey): Boolean
  77. def isValid(token: String, key: SecretKey, options: JwtOptions): Boolean
  78. def isValid(token: String, key: SecretKey, algorithms: Seq[JwtHmacAlgorithm]): Boolean
  79. def isValid(token: String, key: SecretKey, algorithms: Seq[JwtHmacAlgorithm], options: JwtOptions): Boolean

    An alias for isValid if you want to directly pass a string as the key

    An alias for isValid if you want to directly pass a string as the key

    token

    a JSON Web Token as a Base64 url-safe encoded String which can be used inside an HTTP header

    key

    the key that will be used to check the token signature

    algorithms

    a list of possible algorithms that the token can use. See Security concerns for more infos.

    returns

    a boolean value indicating if the token is valid or not

  80. def isValid(token: String, key: String, algorithms: => Seq[JwtAsymmetricAlgorithm]): Boolean
  81. def isValid(token: String, key: String, algorithms: => Seq[JwtAsymmetricAlgorithm], options: JwtOptions): Boolean

    An alias for isValid if you want to directly pass a string as the key for asymmetric algorithms

    An alias for isValid if you want to directly pass a string as the key for asymmetric algorithms

    token

    a JSON Web Token as a Base64 url-safe encoded String which can be used inside an HTTP header

    key

    the key that will be used to check the token signature

    algorithms

    a list of possible algorithms that the token can use. See Security concerns for more infos.

    returns

    a boolean value indicating if the token is valid or not

  82. def isValid(token: String, key: String, algorithms: Seq[JwtHmacAlgorithm]): Boolean
  83. def isValid(token: String, key: String, algorithms: Seq[JwtHmacAlgorithm], options: JwtOptions): Boolean

    An alias for isValid if you want to directly pass a string as the key for HMAC algorithms

    An alias for isValid if you want to directly pass a string as the key for HMAC algorithms

    token

    a JSON Web Token as a Base64 url-safe encoded String which can be used inside an HTTP header

    key

    the key that will be used to check the token signature

    algorithms

    a list of possible algorithms that the token can use. See Security concerns for more infos.

    returns

    a boolean value indicating if the token is valid or not

  84. def isValid(token: String): Boolean
  85. def isValid(token: String, options: JwtOptions): Boolean

    Test if a token is valid.

    Test if a token is valid. Doesn't throw any exception.

    token

    a JSON Web Token as a Base64 url-safe encoded String which can be used inside an HTTP header

    returns

    a boolean value indicating if the token is valid or not

  86. def validate(token: String, key: PublicKey): Unit
  87. def validate(token: String, key: PublicKey, options: JwtOptions): Unit
  88. def validate(token: String, key: PublicKey, algorithms: Seq[JwtAsymmetricAlgorithm]): Unit
  89. def validate(token: String, key: PublicKey, algorithms: Seq[JwtAsymmetricAlgorithm], options: JwtOptions): Unit

    An alias of validate in case you want to directly pass a string key.

    An alias of validate in case you want to directly pass a string key.

    token

    a JSON Web Token as a Base64 url-safe encoded String which can be used inside an HTTP header

    key

    the key that will be used to check the token signature

    algorithms

    a list of possible algorithms that the token can use. See Security concerns for more infos.

    Exceptions thrown

    IllegalArgumentException couldn't decode the token since it's not a valid base64 string

    JwtExpirationException the token isn't valid anymore because its expiration attribute is in the past

    JwtLengthException the number of parts separated by dots is wrong

    JwtNotBeforeException the token isn't valid yet because its notBefore attribute is in the future

    JwtValidationException default validation exception

  90. def validate(token: String, key: SecretKey): Unit
  91. def validate(token: String, key: SecretKey, options: JwtOptions): Unit
  92. def validate(token: String, key: SecretKey, algorithms: Seq[JwtHmacAlgorithm]): Unit
  93. def validate(token: String, key: SecretKey, algorithms: Seq[JwtHmacAlgorithm], options: JwtOptions): Unit

    An alias of validate in case you want to directly pass a string key.

    An alias of validate in case you want to directly pass a string key.

    token

    a JSON Web Token as a Base64 url-safe encoded String which can be used inside an HTTP header

    key

    the key that will be used to check the token signature

    algorithms

    a list of possible algorithms that the token can use. See Security concerns for more infos.

    Exceptions thrown

    IllegalArgumentException couldn't decode the token since it's not a valid base64 string

    JwtExpirationException the token isn't valid anymore because its expiration attribute is in the past

    JwtLengthException the number of parts separated by dots is wrong

    JwtNotBeforeException the token isn't valid yet because its notBefore attribute is in the future

    JwtValidationException default validation exception

  94. def validate(token: String, key: String, algorithms: => Seq[JwtAsymmetricAlgorithm]): Unit
  95. def validate(token: String, key: String, algorithms: => Seq[JwtAsymmetricAlgorithm], options: JwtOptions): Unit

    An alias of validate in case you want to directly pass a string key for asymmetric algorithms.

    An alias of validate in case you want to directly pass a string key for asymmetric algorithms.

    token

    a JSON Web Token as a Base64 url-safe encoded String which can be used inside an HTTP header

    key

    the key that will be used to check the token signature

    algorithms

    a list of possible algorithms that the token can use. See Security concerns for more infos.

    Exceptions thrown

    IllegalArgumentException couldn't decode the token since it's not a valid base64 string

    JwtExpirationException the token isn't valid anymore because its expiration attribute is in the past

    JwtLengthException the number of parts separated by dots is wrong

    JwtNotBeforeException the token isn't valid yet because its notBefore attribute is in the future

    JwtValidationException default validation exception

  96. def validate(token: String, key: String, algorithms: Seq[JwtHmacAlgorithm]): Unit
  97. def validate(token: String, key: String, algorithms: Seq[JwtHmacAlgorithm], options: JwtOptions): Unit

    An alias of validate in case you want to directly pass a string key for HMAC algorithms.

    An alias of validate in case you want to directly pass a string key for HMAC algorithms.

    token

    a JSON Web Token as a Base64 url-safe encoded String which can be used inside an HTTP header

    key

    the key that will be used to check the token signature

    algorithms

    a list of possible algorithms that the token can use. See Security concerns for more infos.

    Exceptions thrown

    IllegalArgumentException couldn't decode the token since it's not a valid base64 string

    JwtExpirationException the token isn't valid anymore because its expiration attribute is in the past

    JwtLengthException the number of parts separated by dots is wrong

    JwtNotBeforeException the token isn't valid yet because its notBefore attribute is in the future

    JwtValidationException default validation exception

  98. def validate(token: String): Unit
  99. def validate(token: String, options: JwtOptions): Unit

    Valid a token: doesn't return anything but will thrown exceptions if there are any errors.

    Valid a token: doesn't return anything but will thrown exceptions if there are any errors.

    token

    a JSON Web Token as a Base64 url-safe encoded String which can be used inside an HTTP header

    Exceptions thrown

    IllegalArgumentException couldn't decode the token since it's not a valid base64 string

    JwtExpirationException the token isn't valid anymore because its expiration attribute is in the past

    JwtLengthException the number of parts separated by dots is wrong

    JwtNotBeforeException the token isn't valid yet because its notBefore attribute is in the future

    JwtValidationException default validation exception