package jwt
- Alphabetic
- Public
- All
Type Members
- sealed trait JwtAlgorithm extends AnyRef
- case class JwtClaim (content: String = "{}", issuer: Option[String] = None, subject: Option[String] = None, audience: Option[Set[String]] = None, expiration: Option[Long] = None, notBefore: Option[Long] = None, issuedAt: Option[Long] = None, jwtId: Option[String] = None) extends Product with Serializable
-
trait
JwtCore
[H, C] extends AnyRef
Provide the main logic around Base64 encoding / decoding and signature using the correct algorithm.
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
- case class JwtHeader (algorithm: Option[JwtAlgorithm] = None, typ: Option[String] = None, contentType: Option[String] = None) extends Product with Serializable
- case class JwtOptions (signature: Boolean = true, expiration: Boolean = true, notBefore: Boolean = true, leeway: Long = 0) extends Product with Serializable
Value Members
-
object
Jwt
extends JwtCore[String, String]
Default implementation of JwtCore using only Strings.
Default implementation of JwtCore using only Strings. Most of the time, you should use a lib implementing JSON and shouldn't be using this object. But just in case you need pure Scala support, here it is.
To see a full list of samples, check the online documentation.
Warning: since there is no JSON support in Scala, this object doesn't have any way to parse a JSON string as an AST, so it only uses regex with all the limitations it implies. Try not to use keys like
exp
andnbf
in sub-objects of the claim. For example, if you try to use the following claim:{"user":{"exp":1},"exp":1300819380}
, it should be correct but it will fail because the regex extracting the expiration will return1
instead of1300819380
. Sorry about that. - object JwtAlgorithm
- object JwtBase64 extends JwtBase64Impl
- object JwtHeader extends Serializable
- object JwtOptions extends Serializable
-
object
JwtTime
extends JwtTimeImpl
Util object to handle time operations
- object JwtUtils