diff --git a/build.savant b/build.savant
index 2e7b9a4..da8e2b4 100644
--- a/build.savant
+++ b/build.savant
@@ -17,7 +17,7 @@
savantVersion = "1.0.0"
jacksonVersion = "2.10.0"
-project(group: "io.fusionauth", name: "fusionauth-jwt", version: "3.1.4", licenses: ["ApacheV2_0"]) {
+project(group: "io.fusionauth", name: "fusionauth-jwt", version: "3.1.5", licenses: ["ApacheV2_0"]) {
workflow {
standard()
diff --git a/pom.xml b/pom.xml
index eaa0de1..183c73d 100644
--- a/pom.xml
+++ b/pom.xml
@@ -6,7 +6,7 @@
io.fusionauth
fusionauth-jwt
- 3.1.4
+ 3.1.5
jar
FusionAuth JWT
diff --git a/src/main/java/io/fusionauth/jwt/domain/JWT.java b/src/main/java/io/fusionauth/jwt/domain/JWT.java
index 7c229b3..191cbfb 100644
--- a/src/main/java/io/fusionauth/jwt/domain/JWT.java
+++ b/src/main/java/io/fusionauth/jwt/domain/JWT.java
@@ -20,9 +20,11 @@
import com.fasterxml.jackson.annotation.JsonAnySetter;
import com.fasterxml.jackson.annotation.JsonIgnore;
import com.fasterxml.jackson.annotation.JsonProperty;
+import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import io.fusionauth.jwt.JWTDecoder;
import io.fusionauth.jwt.JWTEncoder;
import io.fusionauth.jwt.json.Mapper;
+import io.fusionauth.jwt.json.ZonedDateTimeSerializer;
import java.math.BigDecimal;
import java.math.BigInteger;
@@ -63,6 +65,7 @@ public class JWT {
* processing. The expiration time is expected to provided in UNIX time, or the number of seconds since Epoch.
*/
@JsonProperty("exp")
+ @JsonSerialize(using = ZonedDateTimeSerializer.class)
public ZonedDateTime expiration;
/**
@@ -72,6 +75,7 @@ public class JWT {
* UNIX time, or the number of seconds since Epoch.
*/
@JsonProperty("iat")
+ @JsonSerialize(using = ZonedDateTimeSerializer.class)
public ZonedDateTime issuedAt;
/**
@@ -90,6 +94,7 @@ public class JWT {
* expected to provided in UNIX time, or the number of seconds since Epoch.
*/
@JsonProperty("nbf")
+ @JsonSerialize(using = ZonedDateTimeSerializer.class)
public ZonedDateTime notBefore;
/**