JwtCore
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.
Type parameters
- C
-
the type of the extracted claim from a JSON Web Token
- H
-
the type of the extracted header from a JSON Web Token
Attributes
- Graph
-
- Supertypes
-
class Objecttrait Matchableclass Any
- Known subtypes
Members list
Value members
Abstract methods
Concrete methods
Same as decodeAll
but only return the claim
Same as decodeAll
but only return the claim
Value parameters
- token
-
a JSON Web Token as a Base64 url-safe encoded String which can be used inside an HTTP header
Attributes
- Returns
-
if successful, the claim of the token in its correct type
Same as decodeAll
but only return the claim
Same as decodeAll
but only return the claim
Value parameters
- algorithms
-
a list of possible algorithms that the token can use. See Security concerns for more infos.
- key
-
the key that will be used to check the token signature
- token
-
a JSON Web Token as a Base64 url-safe encoded String which can be used inside an HTTP header
Attributes
- Returns
-
if successful, the claim of the token in its correct type
Same as decodeAll
but only return the claim
Same as decodeAll
but only return the claim
Value parameters
- algorithms
-
a list of possible algorithms that the token can use. See Security concerns for more infos.
- key
-
the key that will be used to check the token signature
- token
-
a JSON Web Token as a Base64 url-safe encoded String which can be used inside an HTTP header
Attributes
- Returns
-
if successful, the claim of the token in its correct type
Same as decodeAll
but only return the claim
Same as decodeAll
but only return the claim
Value parameters
- algorithms
-
a list of possible algorithms that the token can use. See Security concerns for more infos.
- key
-
the key that will be used to check the token signature
- token
-
a JSON Web Token as a Base64 url-safe encoded String which can be used inside an HTTP header
Attributes
- Returns
-
if successful, the claim of the token in its correct type
Same as decodeAll
but only return the claim
Same as decodeAll
but only return the claim
Value parameters
- key
-
the key that will be used to check the token signature
- token
-
a JSON Web Token as a Base64 url-safe encoded String which can be used inside an HTTP header
Attributes
- Returns
-
if successful, the claim of the token in its correct type
Same as decodeAll
but only return the claim
Same as decodeAll
but only return the claim
Value parameters
- algorithms
-
a list of possible algorithms that the token can use. See Security concerns for more infos.
- key
-
the key that will be used to check the token signature
- token
-
a JSON Web Token as a Base64 url-safe encoded String which can be used inside an HTTP header
Attributes
- Returns
-
if successful, the claim of the token in its correct type
Same as decodeAll
but only return the claim
Same as decodeAll
but only return the claim
Value parameters
- key
-
the key that will be used to check the token signature
- token
-
a JSON Web Token as a Base64 url-safe encoded String which can be used inside an HTTP header
Attributes
- Returns
-
if successful, the claim of the token in its correct type
Same as decodeRawAll
but return the real header and claim types
Same as decodeRawAll
but return the real header and claim types
Value parameters
- token
-
a JSON Web Token as a Base64 url-safe encoded String which can be used inside an HTTP header
Attributes
- Returns
-
if successful, a tuple representing the header, the claim and eventually the signature
Same as decodeRawAll
but return the real header and claim types
Same as decodeRawAll
but return the real header and claim types
Value parameters
- algorithms
-
a list of possible algorithms that the token can use. See Security concerns for more infos.
- key
-
the key that will be used to check the token signature
- token
-
a JSON Web Token as a Base64 url-safe encoded String which can be used inside an HTTP header
Attributes
- Returns
-
if successful, a tuple representing the header, the claim and eventually the signature
Same as decodeRawAll
but return the real header and claim types
Same as decodeRawAll
but return the real header and claim types
Value parameters
- algorithms
-
a list of possible algorithms that the token can use. See Security concerns for more infos.
- key
-
the key that will be used to check the token signature
- token
-
a JSON Web Token as a Base64 url-safe encoded String which can be used inside an HTTP header
Attributes
- Returns
-
if successful, a tuple representing the header, the claim and eventually the signature
Same as decodeRawAll
but return the real header and claim types
Same as decodeRawAll
but return the real header and claim types
Value parameters
- algorithms
-
a list of possible algorithms that the token can use. See Security concerns for more infos.
- key
-
the key that will be used to check the token signature
- token
-
a JSON Web Token as a Base64 url-safe encoded String which can be used inside an HTTP header
Attributes
- Returns
-
if successful, a tuple representing the header, the claim and eventually the signature
Same as decodeRawAll
but return the real header and claim types
Same as decodeRawAll
but return the real header and claim types
Value parameters
- key
-
the key that will be used to check the token signature
- token
-
a JSON Web Token as a Base64 url-safe encoded String which can be used inside an HTTP header
Attributes
- Returns
-
if successful, a tuple representing the header, the claim and eventually the signature
Same as decodeRawAll
but return the real header and claim types
Same as decodeRawAll
but return the real header and claim types
Value parameters
- algorithms
-
a list of possible algorithms that the token can use. See Security concerns for more infos.
- key
-
the key that will be used to check the token signature
- token
-
a JSON Web Token as a Base64 url-safe encoded String which can be used inside an HTTP header
Attributes
- Returns
-
if successful, a tuple representing the header, the claim and eventually the signature
Same as decodeRawAll
but return the real header and claim types
Same as decodeRawAll
but return the real header and claim types
Value parameters
- key
-
the key that will be used to check the token signature
- token
-
a JSON Web Token as a Base64 url-safe encoded String which can be used inside an HTTP header
Attributes
- Returns
-
if successful, a tuple representing the header, the claim and eventually the signature
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)
Value parameters
- token
-
a JSON Web Token as a Base64 url-safe encoded String which can be used inside an HTTP header
Attributes
- Returns
-
if successful, a string representing the JSON version of the claim
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)
Value parameters
- algorithms
-
a list of possible algorithms that the token can use. See Security concerns for more infos.
- key
-
the key that will be used to check the token signature
- token
-
a JSON Web Token as a Base64 url-safe encoded String which can be used inside an HTTP header
Attributes
- Returns
-
if successful, a string representing the JSON version of the claim
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)
Value parameters
- algorithms
-
a list of possible algorithms that the token can use. See Security concerns for more infos.
- key
-
the key that will be used to check the token signature
- token
-
a JSON Web Token as a Base64 url-safe encoded String which can be used inside an HTTP header
Attributes
- Returns
-
if successful, a string representing the JSON version of the claim
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)
Value parameters
- algorithms
-
a list of possible algorithms that the token can use. See Security concerns for more infos.
- key
-
the key that will be used to check the token signature
- token
-
a JSON Web Token as a Base64 url-safe encoded String which can be used inside an HTTP header
Attributes
- Returns
-
if successful, a string representing the JSON version of the claim
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)
Value parameters
- key
-
the key that will be used to check the token signature
- token
-
a JSON Web Token as a Base64 url-safe encoded String which can be used inside an HTTP header
Attributes
- Returns
-
if successful, a string representing the JSON version of the claim
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)
Value parameters
- algorithms
-
a list of possible algorithms that the token can use. See Security concerns for more infos.
- key
-
the key that will be used to check the token signature
- token
-
a JSON Web Token as a Base64 url-safe encoded String which can be used inside an HTTP header
Attributes
- Returns
-
if successful, a string representing the JSON version of the claim
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)
Value parameters
- key
-
the key that will be used to check the token signature
- token
-
a JSON Web Token as a Base64 url-safe encoded String which can be used inside an HTTP header
Attributes
- Returns
-
if successful, a string representing the JSON version of the claim
Will try to decode a JSON Web Token to raw strings
Will try to decode a JSON Web Token to raw strings
Value parameters
- token
-
a JSON Web Token as a Base64 url-safe encoded String which can be used inside an HTTP header
Attributes
- Returns
-
if successful, a tuple of 3 strings, the header, the claim and the signature
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
Value parameters
- algorithms
-
a list of possible algorithms that the token can use. See Security concerns for more infos.
- key
-
the key that will be used to check the token signature
- token
-
a JSON Web Token as a Base64 url-safe encoded String which can be used inside an HTTP header
Attributes
- Returns
-
if successful, a tuple of 3 strings, the header, the claim and the signature
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
Value parameters
- algorithms
-
a list of possible algorithms that the token can use. See Security concerns for more infos.
- key
-
the key that will be used to check the token signature
- token
-
a JSON Web Token as a Base64 url-safe encoded String which can be used inside an HTTP header
Attributes
- Returns
-
if successful, a tuple of 3 strings, the header, the claim and the signature
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
Value parameters
- algorithms
-
a list of possible algorithms that the token can use. See Security concerns for more infos.
- key
-
the key that will be used to check the token signature
- token
-
a JSON Web Token as a Base64 url-safe encoded String which can be used inside an HTTP header
Attributes
- Returns
-
if successful, a tuple of 3 strings, the header, the claim and the signature
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
Value parameters
- algorithms
-
a list of possible algorithms that the token can use. See Security concerns for more infos.
- key
-
the key that will be used to check the token signature
- token
-
a JSON Web Token as a Base64 url-safe encoded String which can be used inside an HTTP header
Attributes
- Returns
-
if successful, a tuple of 3 strings, the header, the claim and the signature
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.
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.
Value parameters
- algorithm
-
the algorithm to sign the token
- claim
-
a valid stringified JSON representing the claim of the token
- header
-
a valid stringified JSON representing the header of the token
- key
-
the key that will be used to check the token signature
Attributes
- Returns
-
a JSON Web Token as a Base64 url-safe encoded String which can be used inside an HTTP header
An alias to encode
which will provide an automatically generated header.
An alias to encode
which will provide an automatically generated header.
Value parameters
- claim
-
a valid stringified JSON representing the claim of the token
Attributes
- Returns
-
a JSON Web Token as a Base64 url-safe encoded String which can be used inside an HTTP header
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.
Value parameters
- algorithm
-
the algorithm to sign 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
Attributes
- Returns
-
a JSON Web Token as a Base64 url-safe encoded String which can be used inside an HTTP header
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.
Value parameters
- algorithm
-
the algorithm to sign 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
Attributes
- Returns
-
a JSON Web Token as a Base64 url-safe encoded String which can be used inside an HTTP header
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.
Value parameters
- algorithm
-
the algorithm to sign 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
Attributes
- Returns
-
a JSON Web Token as a Base64 url-safe encoded String which can be used inside an HTTP header
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.
Value parameters
- claim
-
the claim of the JSON Web Token
Attributes
- Returns
-
a JSON Web Token as a Base64 url-safe encoded String which can be used inside an HTTP header
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.
Value parameters
- algorithm
-
the algorithm to sign the token
- claim
-
the claim of the JSON Web Token
- key
-
the key that will be used to check the token signature
Attributes
- Returns
-
a JSON Web Token as a Base64 url-safe encoded String which can be used inside an HTTP header
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.
Value parameters
- algorithm
-
the algorithm to sign the token
- claim
-
the claim of the JSON Web Token
- key
-
the key that will be used to check the token signature
Attributes
- Returns
-
a JSON Web Token as a Base64 url-safe encoded String which can be used inside an HTTP header
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.
Value parameters
- algorithm
-
the algorithm to sign the token
- claim
-
the claim of the JSON Web Token
- key
-
the key that will be used to check the token signature
Attributes
- Returns
-
a JSON Web Token as a Base64 url-safe encoded String which can be used inside an HTTP header
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.
Value parameters
- claim
-
the claim to stringify as a JSON before encoding the token
- header
-
the header to stringify as a JSON before encoding the token
Attributes
- Returns
-
a JSON Web Token as a Base64 url-safe encoded String which can be used inside an HTTP header
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.
Value parameters
- claim
-
the claim to stringify as a JSON before encoding the token
- header
-
the header 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)
Attributes
- Returns
-
a JSON Web Token as a Base64 url-safe encoded String which can be used inside an HTTP header
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.
Value parameters
- claim
-
the claim to stringify as a JSON before encoding the token
- header
-
the header 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)
Attributes
- Returns
-
a JSON Web Token as a Base64 url-safe encoded String which can be used inside an HTTP header
Test if a token is valid. Doesn't throw any exception.
Test if a token is valid. Doesn't throw any exception.
Value parameters
- token
-
a JSON Web Token as a Base64 url-safe encoded String which can be used inside an HTTP header
Attributes
- Returns
-
a boolean value indicating if the token is valid or not
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
Value parameters
- algorithms
-
a list of possible algorithms that the token can use. See Security concerns for more infos.
- key
-
the key that will be used to check the token signature
- token
-
a JSON Web Token as a Base64 url-safe encoded String which can be used inside an HTTP header
Attributes
- Returns
-
a boolean value indicating if the token is valid or not
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
Value parameters
- algorithms
-
a list of possible algorithms that the token can use. See Security concerns for more infos.
- key
-
the key that will be used to check the token signature
- token
-
a JSON Web Token as a Base64 url-safe encoded String which can be used inside an HTTP header
Attributes
- Returns
-
a boolean value indicating if the token is valid or not
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
Value parameters
- algorithms
-
a list of possible algorithms that the token can use. See Security concerns for more infos.
- key
-
the key that will be used to check the token signature
- token
-
a JSON Web Token as a Base64 url-safe encoded String which can be used inside an HTTP header
Attributes
- Returns
-
a boolean value indicating if the token is valid or not
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
Value parameters
- algorithms
-
a list of possible algorithms that the token can use. See Security concerns for more infos.
- key
-
the key that will be used to check the token signature
- token
-
a JSON Web Token as a Base64 url-safe encoded String which can be used inside an HTTP header
Attributes
- Returns
-
a boolean value indicating if the token is valid or not
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.
Value parameters
- token
-
a JSON Web Token as a Base64 url-safe encoded String which can be used inside an HTTP header
Attributes
- Throws
-
IllegalArgumentException
couldn't decode the token since it's not a valid base64 string
JwtExpirationExceptionthe token isn't valid anymore because its
expiration
attribute is in the pastJwtLengthExceptionthe number of parts separated by dots is wrong
JwtNotBeforeExceptionthe token isn't valid yet because its
notBefore
attribute is in the futureJwtValidationExceptiondefault validation exception
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.
Value parameters
- algorithms
-
a list of possible algorithms that the token can use. See Security concerns for more infos.
- key
-
the key that will be used to check the token signature
- token
-
a JSON Web Token as a Base64 url-safe encoded String which can be used inside an HTTP header
Attributes
- Throws
-
IllegalArgumentException
couldn't decode the token since it's not a valid base64 string
JwtExpirationExceptionthe token isn't valid anymore because its
expiration
attribute is in the pastJwtLengthExceptionthe number of parts separated by dots is wrong
JwtNotBeforeExceptionthe token isn't valid yet because its
notBefore
attribute is in the futureJwtValidationExceptiondefault validation exception
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.
Value parameters
- algorithms
-
a list of possible algorithms that the token can use. See Security concerns for more infos.
- key
-
the key that will be used to check the token signature
- token
-
a JSON Web Token as a Base64 url-safe encoded String which can be used inside an HTTP header
Attributes
- Throws
-
IllegalArgumentException
couldn't decode the token since it's not a valid base64 string
JwtExpirationExceptionthe token isn't valid anymore because its
expiration
attribute is in the pastJwtLengthExceptionthe number of parts separated by dots is wrong
JwtNotBeforeExceptionthe token isn't valid yet because its
notBefore
attribute is in the futureJwtValidationExceptiondefault validation exception
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.
Value parameters
- algorithms
-
a list of possible algorithms that the token can use. See Security concerns for more infos.
- key
-
the key that will be used to check the token signature
- token
-
a JSON Web Token as a Base64 url-safe encoded String which can be used inside an HTTP header
Attributes
- Throws
-
IllegalArgumentException
couldn't decode the token since it's not a valid base64 string
JwtExpirationExceptionthe token isn't valid anymore because its
expiration
attribute is in the pastJwtLengthExceptionthe number of parts separated by dots is wrong
JwtNotBeforeExceptionthe token isn't valid yet because its
notBefore
attribute is in the futureJwtValidationExceptiondefault validation exception
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.
Value parameters
- algorithms
-
a list of possible algorithms that the token can use. See Security concerns for more infos.
- key
-
the key that will be used to check the token signature
- token
-
a JSON Web Token as a Base64 url-safe encoded String which can be used inside an HTTP header
Attributes
- Throws
-
IllegalArgumentException
couldn't decode the token since it's not a valid base64 string
JwtExpirationExceptionthe token isn't valid anymore because its
expiration
attribute is in the pastJwtLengthExceptionthe number of parts separated by dots is wrong
JwtNotBeforeExceptionthe token isn't valid yet because its
notBefore
attribute is in the futureJwtValidationExceptiondefault validation exception