From 16b51cec0c602e5ab9ba64bd93eb7178557dc1dc Mon Sep 17 00:00:00 2001 From: karthikeyan kumar Date: Mon, 2 Aug 2021 12:09:59 +0530 Subject: [PATCH 1/7] adding code changes to TransientTokenUtility --- .../flex/models/transienttoken/Ctx.java | 34 ++++++++ .../flex/models/transienttoken/Data.java | 35 ++++++++ .../flex/models/transienttoken/Flx.java | 56 +++++++++++++ .../flex/models/transienttoken/Jwk.java | 67 ++++++++++++++++ .../transienttoken/JwtResponseModel.java | 79 +++++++++++++++++++ .../transienttoken/TransientTokenUtility.java | 34 ++++++++ 6 files changed, 305 insertions(+) create mode 100644 src/main/java/utilities/flex/models/transienttoken/Ctx.java create mode 100644 src/main/java/utilities/flex/models/transienttoken/Data.java create mode 100644 src/main/java/utilities/flex/models/transienttoken/Flx.java create mode 100644 src/main/java/utilities/flex/models/transienttoken/Jwk.java create mode 100644 src/main/java/utilities/flex/models/transienttoken/JwtResponseModel.java create mode 100644 src/main/java/utilities/flex/models/transienttoken/TransientTokenUtility.java diff --git a/src/main/java/utilities/flex/models/transienttoken/Ctx.java b/src/main/java/utilities/flex/models/transienttoken/Ctx.java new file mode 100644 index 000000000..ce08114fc --- /dev/null +++ b/src/main/java/utilities/flex/models/transienttoken/Ctx.java @@ -0,0 +1,34 @@ + +package utilities.flex.models.transienttoken; + +import javax.annotation.Generated; +import com.google.gson.annotations.Expose; +import com.google.gson.annotations.SerializedName; + +@Generated("jsonschema2pojo") +public class Ctx { + + @SerializedName("data") + @Expose + private Data data; + @SerializedName("type") + @Expose + private String type; + + public Data getData() { + return data; + } + + public void setData(Data data) { + this.data = data; + } + + public String getType() { + return type; + } + + public void setType(String type) { + this.type = type; + } + +} diff --git a/src/main/java/utilities/flex/models/transienttoken/Data.java b/src/main/java/utilities/flex/models/transienttoken/Data.java new file mode 100644 index 000000000..e16fc47f7 --- /dev/null +++ b/src/main/java/utilities/flex/models/transienttoken/Data.java @@ -0,0 +1,35 @@ + +package utilities.flex.models.transienttoken; + +import java.util.List; +import javax.annotation.Generated; +import com.google.gson.annotations.Expose; +import com.google.gson.annotations.SerializedName; + +@Generated("jsonschema2pojo") +public class Data { + + @SerializedName("targetOrigins") + @Expose + private List targetOrigins = null; + @SerializedName("mfOrigin") + @Expose + private String mfOrigin; + + public List getTargetOrigins() { + return targetOrigins; + } + + public void setTargetOrigins(List targetOrigins) { + this.targetOrigins = targetOrigins; + } + + public String getMfOrigin() { + return mfOrigin; + } + + public void setMfOrigin(String mfOrigin) { + this.mfOrigin = mfOrigin; + } + +} diff --git a/src/main/java/utilities/flex/models/transienttoken/Flx.java b/src/main/java/utilities/flex/models/transienttoken/Flx.java new file mode 100644 index 000000000..8b62d1688 --- /dev/null +++ b/src/main/java/utilities/flex/models/transienttoken/Flx.java @@ -0,0 +1,56 @@ + +package utilities.flex.models.transienttoken; + +import javax.annotation.Generated; +import com.google.gson.annotations.Expose; +import com.google.gson.annotations.SerializedName; + +@Generated("jsonschema2pojo") +public class Flx { + + @SerializedName("path") + @Expose + private String path; + @SerializedName("data") + @Expose + private String data; + @SerializedName("origin") + @Expose + private String origin; + @SerializedName("jwk") + @Expose + private Jwk jwk; + + public String getPath() { + return path; + } + + public void setPath(String path) { + this.path = path; + } + + public String getData() { + return data; + } + + public void setData(String data) { + this.data = data; + } + + public String getOrigin() { + return origin; + } + + public void setOrigin(String origin) { + this.origin = origin; + } + + public Jwk getJwk() { + return jwk; + } + + public void setJwk(Jwk jwk) { + this.jwk = jwk; + } + +} diff --git a/src/main/java/utilities/flex/models/transienttoken/Jwk.java b/src/main/java/utilities/flex/models/transienttoken/Jwk.java new file mode 100644 index 000000000..4a47691fb --- /dev/null +++ b/src/main/java/utilities/flex/models/transienttoken/Jwk.java @@ -0,0 +1,67 @@ + +package utilities.flex.models.transienttoken; + +import javax.annotation.Generated; +import com.google.gson.annotations.Expose; +import com.google.gson.annotations.SerializedName; + +@Generated("jsonschema2pojo") +public class Jwk { + + @SerializedName("kty") + @Expose + private String kty; + @SerializedName("e") + @Expose + private String e; + @SerializedName("use") + @Expose + private String use; + @SerializedName("n") + @Expose + private String n; + @SerializedName("kid") + @Expose + private String kid; + + public String getKty() { + return kty; + } + + public void setKty(String kty) { + this.kty = kty; + } + + public String getE() { + return e; + } + + public void setE(String e) { + this.e = e; + } + + public String getUse() { + return use; + } + + public void setUse(String use) { + this.use = use; + } + + public String getN() { + return n; + } + + public void setN(String n) { + this.n = n; + } + + public String getKid() { + return kid; + } + + public void setKid(String kid) { + this.kid = kid; + } + +} diff --git a/src/main/java/utilities/flex/models/transienttoken/JwtResponseModel.java b/src/main/java/utilities/flex/models/transienttoken/JwtResponseModel.java new file mode 100644 index 000000000..53dd396bd --- /dev/null +++ b/src/main/java/utilities/flex/models/transienttoken/JwtResponseModel.java @@ -0,0 +1,79 @@ + +package utilities.flex.models.transienttoken; + +import java.util.List; +import javax.annotation.Generated; +import com.google.gson.annotations.Expose; +import com.google.gson.annotations.SerializedName; + +@Generated("jsonschema2pojo") +public class JwtResponseModel { + + @SerializedName("flx") + @Expose + private Flx flx; + @SerializedName("ctx") + @Expose + private List ctx = null; + @SerializedName("iss") + @Expose + private String iss; + @SerializedName("exp") + @Expose + private Integer exp; + @SerializedName("iat") + @Expose + private Integer iat; + @SerializedName("jti") + @Expose + private String jti; + + public Flx getFlx() { + return flx; + } + + public void setFlx(Flx flx) { + this.flx = flx; + } + + public List getCtx() { + return ctx; + } + + public void setCtx(List ctx) { + this.ctx = ctx; + } + + public String getIss() { + return iss; + } + + public void setIss(String iss) { + this.iss = iss; + } + + public Integer getExp() { + return exp; + } + + public void setExp(Integer exp) { + this.exp = exp; + } + + public Integer getIat() { + return iat; + } + + public void setIat(Integer iat) { + this.iat = iat; + } + + public String getJti() { + return jti; + } + + public void setJti(String jti) { + this.jti = jti; + } + +} diff --git a/src/main/java/utilities/flex/models/transienttoken/TransientTokenUtility.java b/src/main/java/utilities/flex/models/transienttoken/TransientTokenUtility.java new file mode 100644 index 000000000..4419e247c --- /dev/null +++ b/src/main/java/utilities/flex/models/transienttoken/TransientTokenUtility.java @@ -0,0 +1,34 @@ +package utilities.flex.models.transienttoken; + +import java.util.Base64; + +import com.google.gson.Gson; + +public class TransientTokenUtility { + + /** + * This is the method to extract transient token from given jwt token + * @param jwt + * @return + */ + public JwtResponseModel extractTransientToken(String jwt) + { + // split the jwt token into two parts + // bearer and token part + String splitContents[] = jwt.split(" "); + if(splitContents.length > 1) + { + // decode the base 64 encoded string + String encodedString = splitContents[1]; + byte[] decodedBytes = Base64.getDecoder().decode(encodedString); + String decodedString = new String(decodedBytes); + Gson gson=new Gson(); + // Map decoded string to response model + JwtResponseModel jwtResponseModel = gson.fromJson(decodedString,JwtResponseModel.class); + // return JTI string + return jwtResponseModel; + } + + return null; + } +} From 532ede742a833371eac36156964681f934f7806c Mon Sep 17 00:00:00 2001 From: karthikeyan kumar Date: Mon, 2 Aug 2021 12:19:13 +0530 Subject: [PATCH 2/7] code changes --- src/main/java/utilities/flex/models/transienttoken/Ctx.java | 2 +- src/main/java/utilities/flex/models/transienttoken/Data.java | 2 +- src/main/java/utilities/flex/models/transienttoken/Flx.java | 2 +- src/main/java/utilities/flex/models/transienttoken/Jwk.java | 2 +- .../utilities/flex/models/transienttoken/JwtResponseModel.java | 2 +- .../flex/models/transienttoken/TransientTokenUtility.java | 2 +- 6 files changed, 6 insertions(+), 6 deletions(-) diff --git a/src/main/java/utilities/flex/models/transienttoken/Ctx.java b/src/main/java/utilities/flex/models/transienttoken/Ctx.java index ce08114fc..062b8fd11 100644 --- a/src/main/java/utilities/flex/models/transienttoken/Ctx.java +++ b/src/main/java/utilities/flex/models/transienttoken/Ctx.java @@ -1,5 +1,5 @@ -package utilities.flex.models.transienttoken; +package utilities.flex.models.transientToken; import javax.annotation.Generated; import com.google.gson.annotations.Expose; diff --git a/src/main/java/utilities/flex/models/transienttoken/Data.java b/src/main/java/utilities/flex/models/transienttoken/Data.java index e16fc47f7..9f189af98 100644 --- a/src/main/java/utilities/flex/models/transienttoken/Data.java +++ b/src/main/java/utilities/flex/models/transienttoken/Data.java @@ -1,5 +1,5 @@ -package utilities.flex.models.transienttoken; +package utilities.flex.models.transientToken; import java.util.List; import javax.annotation.Generated; diff --git a/src/main/java/utilities/flex/models/transienttoken/Flx.java b/src/main/java/utilities/flex/models/transienttoken/Flx.java index 8b62d1688..c5fb2911c 100644 --- a/src/main/java/utilities/flex/models/transienttoken/Flx.java +++ b/src/main/java/utilities/flex/models/transienttoken/Flx.java @@ -1,5 +1,5 @@ -package utilities.flex.models.transienttoken; +package utilities.flex.models.transientToken; import javax.annotation.Generated; import com.google.gson.annotations.Expose; diff --git a/src/main/java/utilities/flex/models/transienttoken/Jwk.java b/src/main/java/utilities/flex/models/transienttoken/Jwk.java index 4a47691fb..8a457a7ce 100644 --- a/src/main/java/utilities/flex/models/transienttoken/Jwk.java +++ b/src/main/java/utilities/flex/models/transienttoken/Jwk.java @@ -1,5 +1,5 @@ -package utilities.flex.models.transienttoken; +package utilities.flex.models.transientToken; import javax.annotation.Generated; import com.google.gson.annotations.Expose; diff --git a/src/main/java/utilities/flex/models/transienttoken/JwtResponseModel.java b/src/main/java/utilities/flex/models/transienttoken/JwtResponseModel.java index 53dd396bd..a0e603272 100644 --- a/src/main/java/utilities/flex/models/transienttoken/JwtResponseModel.java +++ b/src/main/java/utilities/flex/models/transienttoken/JwtResponseModel.java @@ -1,5 +1,5 @@ -package utilities.flex.models.transienttoken; +package utilities.flex.models.transientToken; import java.util.List; import javax.annotation.Generated; diff --git a/src/main/java/utilities/flex/models/transienttoken/TransientTokenUtility.java b/src/main/java/utilities/flex/models/transienttoken/TransientTokenUtility.java index 4419e247c..bedfe86a8 100644 --- a/src/main/java/utilities/flex/models/transienttoken/TransientTokenUtility.java +++ b/src/main/java/utilities/flex/models/transienttoken/TransientTokenUtility.java @@ -1,4 +1,4 @@ -package utilities.flex.models.transienttoken; +package utilities.flex.models.transientToken; import java.util.Base64; From 2e9a2133b2888970b6af111bf77561f5226c60ef Mon Sep 17 00:00:00 2001 From: karthikeyan kumar Date: Mon, 2 Aug 2021 12:21:49 +0530 Subject: [PATCH 3/7] code changes --- .../flex/models/transienttoken/Ctx.java | 34 -------- .../flex/models/transienttoken/Data.java | 35 -------- .../flex/models/transienttoken/Flx.java | 56 ------------- .../flex/models/transienttoken/Jwk.java | 67 ---------------- .../transienttoken/JwtResponseModel.java | 79 ------------------- .../transienttoken/TransientTokenUtility.java | 34 -------- 6 files changed, 305 deletions(-) delete mode 100644 src/main/java/utilities/flex/models/transienttoken/Ctx.java delete mode 100644 src/main/java/utilities/flex/models/transienttoken/Data.java delete mode 100644 src/main/java/utilities/flex/models/transienttoken/Flx.java delete mode 100644 src/main/java/utilities/flex/models/transienttoken/Jwk.java delete mode 100644 src/main/java/utilities/flex/models/transienttoken/JwtResponseModel.java delete mode 100644 src/main/java/utilities/flex/models/transienttoken/TransientTokenUtility.java diff --git a/src/main/java/utilities/flex/models/transienttoken/Ctx.java b/src/main/java/utilities/flex/models/transienttoken/Ctx.java deleted file mode 100644 index 062b8fd11..000000000 --- a/src/main/java/utilities/flex/models/transienttoken/Ctx.java +++ /dev/null @@ -1,34 +0,0 @@ - -package utilities.flex.models.transientToken; - -import javax.annotation.Generated; -import com.google.gson.annotations.Expose; -import com.google.gson.annotations.SerializedName; - -@Generated("jsonschema2pojo") -public class Ctx { - - @SerializedName("data") - @Expose - private Data data; - @SerializedName("type") - @Expose - private String type; - - public Data getData() { - return data; - } - - public void setData(Data data) { - this.data = data; - } - - public String getType() { - return type; - } - - public void setType(String type) { - this.type = type; - } - -} diff --git a/src/main/java/utilities/flex/models/transienttoken/Data.java b/src/main/java/utilities/flex/models/transienttoken/Data.java deleted file mode 100644 index 9f189af98..000000000 --- a/src/main/java/utilities/flex/models/transienttoken/Data.java +++ /dev/null @@ -1,35 +0,0 @@ - -package utilities.flex.models.transientToken; - -import java.util.List; -import javax.annotation.Generated; -import com.google.gson.annotations.Expose; -import com.google.gson.annotations.SerializedName; - -@Generated("jsonschema2pojo") -public class Data { - - @SerializedName("targetOrigins") - @Expose - private List targetOrigins = null; - @SerializedName("mfOrigin") - @Expose - private String mfOrigin; - - public List getTargetOrigins() { - return targetOrigins; - } - - public void setTargetOrigins(List targetOrigins) { - this.targetOrigins = targetOrigins; - } - - public String getMfOrigin() { - return mfOrigin; - } - - public void setMfOrigin(String mfOrigin) { - this.mfOrigin = mfOrigin; - } - -} diff --git a/src/main/java/utilities/flex/models/transienttoken/Flx.java b/src/main/java/utilities/flex/models/transienttoken/Flx.java deleted file mode 100644 index c5fb2911c..000000000 --- a/src/main/java/utilities/flex/models/transienttoken/Flx.java +++ /dev/null @@ -1,56 +0,0 @@ - -package utilities.flex.models.transientToken; - -import javax.annotation.Generated; -import com.google.gson.annotations.Expose; -import com.google.gson.annotations.SerializedName; - -@Generated("jsonschema2pojo") -public class Flx { - - @SerializedName("path") - @Expose - private String path; - @SerializedName("data") - @Expose - private String data; - @SerializedName("origin") - @Expose - private String origin; - @SerializedName("jwk") - @Expose - private Jwk jwk; - - public String getPath() { - return path; - } - - public void setPath(String path) { - this.path = path; - } - - public String getData() { - return data; - } - - public void setData(String data) { - this.data = data; - } - - public String getOrigin() { - return origin; - } - - public void setOrigin(String origin) { - this.origin = origin; - } - - public Jwk getJwk() { - return jwk; - } - - public void setJwk(Jwk jwk) { - this.jwk = jwk; - } - -} diff --git a/src/main/java/utilities/flex/models/transienttoken/Jwk.java b/src/main/java/utilities/flex/models/transienttoken/Jwk.java deleted file mode 100644 index 8a457a7ce..000000000 --- a/src/main/java/utilities/flex/models/transienttoken/Jwk.java +++ /dev/null @@ -1,67 +0,0 @@ - -package utilities.flex.models.transientToken; - -import javax.annotation.Generated; -import com.google.gson.annotations.Expose; -import com.google.gson.annotations.SerializedName; - -@Generated("jsonschema2pojo") -public class Jwk { - - @SerializedName("kty") - @Expose - private String kty; - @SerializedName("e") - @Expose - private String e; - @SerializedName("use") - @Expose - private String use; - @SerializedName("n") - @Expose - private String n; - @SerializedName("kid") - @Expose - private String kid; - - public String getKty() { - return kty; - } - - public void setKty(String kty) { - this.kty = kty; - } - - public String getE() { - return e; - } - - public void setE(String e) { - this.e = e; - } - - public String getUse() { - return use; - } - - public void setUse(String use) { - this.use = use; - } - - public String getN() { - return n; - } - - public void setN(String n) { - this.n = n; - } - - public String getKid() { - return kid; - } - - public void setKid(String kid) { - this.kid = kid; - } - -} diff --git a/src/main/java/utilities/flex/models/transienttoken/JwtResponseModel.java b/src/main/java/utilities/flex/models/transienttoken/JwtResponseModel.java deleted file mode 100644 index a0e603272..000000000 --- a/src/main/java/utilities/flex/models/transienttoken/JwtResponseModel.java +++ /dev/null @@ -1,79 +0,0 @@ - -package utilities.flex.models.transientToken; - -import java.util.List; -import javax.annotation.Generated; -import com.google.gson.annotations.Expose; -import com.google.gson.annotations.SerializedName; - -@Generated("jsonschema2pojo") -public class JwtResponseModel { - - @SerializedName("flx") - @Expose - private Flx flx; - @SerializedName("ctx") - @Expose - private List ctx = null; - @SerializedName("iss") - @Expose - private String iss; - @SerializedName("exp") - @Expose - private Integer exp; - @SerializedName("iat") - @Expose - private Integer iat; - @SerializedName("jti") - @Expose - private String jti; - - public Flx getFlx() { - return flx; - } - - public void setFlx(Flx flx) { - this.flx = flx; - } - - public List getCtx() { - return ctx; - } - - public void setCtx(List ctx) { - this.ctx = ctx; - } - - public String getIss() { - return iss; - } - - public void setIss(String iss) { - this.iss = iss; - } - - public Integer getExp() { - return exp; - } - - public void setExp(Integer exp) { - this.exp = exp; - } - - public Integer getIat() { - return iat; - } - - public void setIat(Integer iat) { - this.iat = iat; - } - - public String getJti() { - return jti; - } - - public void setJti(String jti) { - this.jti = jti; - } - -} diff --git a/src/main/java/utilities/flex/models/transienttoken/TransientTokenUtility.java b/src/main/java/utilities/flex/models/transienttoken/TransientTokenUtility.java deleted file mode 100644 index bedfe86a8..000000000 --- a/src/main/java/utilities/flex/models/transienttoken/TransientTokenUtility.java +++ /dev/null @@ -1,34 +0,0 @@ -package utilities.flex.models.transientToken; - -import java.util.Base64; - -import com.google.gson.Gson; - -public class TransientTokenUtility { - - /** - * This is the method to extract transient token from given jwt token - * @param jwt - * @return - */ - public JwtResponseModel extractTransientToken(String jwt) - { - // split the jwt token into two parts - // bearer and token part - String splitContents[] = jwt.split(" "); - if(splitContents.length > 1) - { - // decode the base 64 encoded string - String encodedString = splitContents[1]; - byte[] decodedBytes = Base64.getDecoder().decode(encodedString); - String decodedString = new String(decodedBytes); - Gson gson=new Gson(); - // Map decoded string to response model - JwtResponseModel jwtResponseModel = gson.fromJson(decodedString,JwtResponseModel.class); - // return JTI string - return jwtResponseModel; - } - - return null; - } -} From 6c85eb9de15d00c279ff1c1ce41940a7c74f5e2c Mon Sep 17 00:00:00 2001 From: karthikeyan kumar Date: Mon, 2 Aug 2021 12:22:19 +0530 Subject: [PATCH 4/7] transientToken/Ctx.java --- .../flex/models/transientToken/Ctx.java | 34 ++++++++ .../flex/models/transientToken/Data.java | 35 ++++++++ .../flex/models/transientToken/Flx.java | 56 +++++++++++++ .../flex/models/transientToken/Jwk.java | 67 ++++++++++++++++ .../transientToken/JwtResponseModel.java | 79 +++++++++++++++++++ .../transientToken/TransientTokenUtility.java | 34 ++++++++ 6 files changed, 305 insertions(+) create mode 100644 src/main/java/utilities/flex/models/transientToken/Ctx.java create mode 100644 src/main/java/utilities/flex/models/transientToken/Data.java create mode 100644 src/main/java/utilities/flex/models/transientToken/Flx.java create mode 100644 src/main/java/utilities/flex/models/transientToken/Jwk.java create mode 100644 src/main/java/utilities/flex/models/transientToken/JwtResponseModel.java create mode 100644 src/main/java/utilities/flex/models/transientToken/TransientTokenUtility.java diff --git a/src/main/java/utilities/flex/models/transientToken/Ctx.java b/src/main/java/utilities/flex/models/transientToken/Ctx.java new file mode 100644 index 000000000..062b8fd11 --- /dev/null +++ b/src/main/java/utilities/flex/models/transientToken/Ctx.java @@ -0,0 +1,34 @@ + +package utilities.flex.models.transientToken; + +import javax.annotation.Generated; +import com.google.gson.annotations.Expose; +import com.google.gson.annotations.SerializedName; + +@Generated("jsonschema2pojo") +public class Ctx { + + @SerializedName("data") + @Expose + private Data data; + @SerializedName("type") + @Expose + private String type; + + public Data getData() { + return data; + } + + public void setData(Data data) { + this.data = data; + } + + public String getType() { + return type; + } + + public void setType(String type) { + this.type = type; + } + +} diff --git a/src/main/java/utilities/flex/models/transientToken/Data.java b/src/main/java/utilities/flex/models/transientToken/Data.java new file mode 100644 index 000000000..9f189af98 --- /dev/null +++ b/src/main/java/utilities/flex/models/transientToken/Data.java @@ -0,0 +1,35 @@ + +package utilities.flex.models.transientToken; + +import java.util.List; +import javax.annotation.Generated; +import com.google.gson.annotations.Expose; +import com.google.gson.annotations.SerializedName; + +@Generated("jsonschema2pojo") +public class Data { + + @SerializedName("targetOrigins") + @Expose + private List targetOrigins = null; + @SerializedName("mfOrigin") + @Expose + private String mfOrigin; + + public List getTargetOrigins() { + return targetOrigins; + } + + public void setTargetOrigins(List targetOrigins) { + this.targetOrigins = targetOrigins; + } + + public String getMfOrigin() { + return mfOrigin; + } + + public void setMfOrigin(String mfOrigin) { + this.mfOrigin = mfOrigin; + } + +} diff --git a/src/main/java/utilities/flex/models/transientToken/Flx.java b/src/main/java/utilities/flex/models/transientToken/Flx.java new file mode 100644 index 000000000..c5fb2911c --- /dev/null +++ b/src/main/java/utilities/flex/models/transientToken/Flx.java @@ -0,0 +1,56 @@ + +package utilities.flex.models.transientToken; + +import javax.annotation.Generated; +import com.google.gson.annotations.Expose; +import com.google.gson.annotations.SerializedName; + +@Generated("jsonschema2pojo") +public class Flx { + + @SerializedName("path") + @Expose + private String path; + @SerializedName("data") + @Expose + private String data; + @SerializedName("origin") + @Expose + private String origin; + @SerializedName("jwk") + @Expose + private Jwk jwk; + + public String getPath() { + return path; + } + + public void setPath(String path) { + this.path = path; + } + + public String getData() { + return data; + } + + public void setData(String data) { + this.data = data; + } + + public String getOrigin() { + return origin; + } + + public void setOrigin(String origin) { + this.origin = origin; + } + + public Jwk getJwk() { + return jwk; + } + + public void setJwk(Jwk jwk) { + this.jwk = jwk; + } + +} diff --git a/src/main/java/utilities/flex/models/transientToken/Jwk.java b/src/main/java/utilities/flex/models/transientToken/Jwk.java new file mode 100644 index 000000000..8a457a7ce --- /dev/null +++ b/src/main/java/utilities/flex/models/transientToken/Jwk.java @@ -0,0 +1,67 @@ + +package utilities.flex.models.transientToken; + +import javax.annotation.Generated; +import com.google.gson.annotations.Expose; +import com.google.gson.annotations.SerializedName; + +@Generated("jsonschema2pojo") +public class Jwk { + + @SerializedName("kty") + @Expose + private String kty; + @SerializedName("e") + @Expose + private String e; + @SerializedName("use") + @Expose + private String use; + @SerializedName("n") + @Expose + private String n; + @SerializedName("kid") + @Expose + private String kid; + + public String getKty() { + return kty; + } + + public void setKty(String kty) { + this.kty = kty; + } + + public String getE() { + return e; + } + + public void setE(String e) { + this.e = e; + } + + public String getUse() { + return use; + } + + public void setUse(String use) { + this.use = use; + } + + public String getN() { + return n; + } + + public void setN(String n) { + this.n = n; + } + + public String getKid() { + return kid; + } + + public void setKid(String kid) { + this.kid = kid; + } + +} diff --git a/src/main/java/utilities/flex/models/transientToken/JwtResponseModel.java b/src/main/java/utilities/flex/models/transientToken/JwtResponseModel.java new file mode 100644 index 000000000..a0e603272 --- /dev/null +++ b/src/main/java/utilities/flex/models/transientToken/JwtResponseModel.java @@ -0,0 +1,79 @@ + +package utilities.flex.models.transientToken; + +import java.util.List; +import javax.annotation.Generated; +import com.google.gson.annotations.Expose; +import com.google.gson.annotations.SerializedName; + +@Generated("jsonschema2pojo") +public class JwtResponseModel { + + @SerializedName("flx") + @Expose + private Flx flx; + @SerializedName("ctx") + @Expose + private List ctx = null; + @SerializedName("iss") + @Expose + private String iss; + @SerializedName("exp") + @Expose + private Integer exp; + @SerializedName("iat") + @Expose + private Integer iat; + @SerializedName("jti") + @Expose + private String jti; + + public Flx getFlx() { + return flx; + } + + public void setFlx(Flx flx) { + this.flx = flx; + } + + public List getCtx() { + return ctx; + } + + public void setCtx(List ctx) { + this.ctx = ctx; + } + + public String getIss() { + return iss; + } + + public void setIss(String iss) { + this.iss = iss; + } + + public Integer getExp() { + return exp; + } + + public void setExp(Integer exp) { + this.exp = exp; + } + + public Integer getIat() { + return iat; + } + + public void setIat(Integer iat) { + this.iat = iat; + } + + public String getJti() { + return jti; + } + + public void setJti(String jti) { + this.jti = jti; + } + +} diff --git a/src/main/java/utilities/flex/models/transientToken/TransientTokenUtility.java b/src/main/java/utilities/flex/models/transientToken/TransientTokenUtility.java new file mode 100644 index 000000000..bedfe86a8 --- /dev/null +++ b/src/main/java/utilities/flex/models/transientToken/TransientTokenUtility.java @@ -0,0 +1,34 @@ +package utilities.flex.models.transientToken; + +import java.util.Base64; + +import com.google.gson.Gson; + +public class TransientTokenUtility { + + /** + * This is the method to extract transient token from given jwt token + * @param jwt + * @return + */ + public JwtResponseModel extractTransientToken(String jwt) + { + // split the jwt token into two parts + // bearer and token part + String splitContents[] = jwt.split(" "); + if(splitContents.length > 1) + { + // decode the base 64 encoded string + String encodedString = splitContents[1]; + byte[] decodedBytes = Base64.getDecoder().decode(encodedString); + String decodedString = new String(decodedBytes); + Gson gson=new Gson(); + // Map decoded string to response model + JwtResponseModel jwtResponseModel = gson.fromJson(decodedString,JwtResponseModel.class); + // return JTI string + return jwtResponseModel; + } + + return null; + } +} From 999654ea5bbec7b73594a25a4ba9ad6b811cd6ef Mon Sep 17 00:00:00 2001 From: karthikeyan kumar Date: Mon, 2 Aug 2021 12:31:17 +0530 Subject: [PATCH 5/7] adding delimiter splitter --- .../flex/models/transientToken/TransientTokenUtility.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/java/utilities/flex/models/transientToken/TransientTokenUtility.java b/src/main/java/utilities/flex/models/transientToken/TransientTokenUtility.java index bedfe86a8..2289056c0 100644 --- a/src/main/java/utilities/flex/models/transientToken/TransientTokenUtility.java +++ b/src/main/java/utilities/flex/models/transientToken/TransientTokenUtility.java @@ -15,7 +15,7 @@ public JwtResponseModel extractTransientToken(String jwt) { // split the jwt token into two parts // bearer and token part - String splitContents[] = jwt.split(" "); + String splitContents[] = jwt.split("."); if(splitContents.length > 1) { // decode the base 64 encoded string From 6d1f2f5c43ba82b75aeb787693ac9b83c070c19f Mon Sep 17 00:00:00 2001 From: karthikeyan kumar Date: Mon, 2 Aug 2021 12:36:49 +0530 Subject: [PATCH 6/7] code changes to move files from one section to other --- .../transientToken/TransientTokenUtility.java | 34 ------------------- 1 file changed, 34 deletions(-) delete mode 100644 src/main/java/utilities/flex/models/transientToken/TransientTokenUtility.java diff --git a/src/main/java/utilities/flex/models/transientToken/TransientTokenUtility.java b/src/main/java/utilities/flex/models/transientToken/TransientTokenUtility.java deleted file mode 100644 index 2289056c0..000000000 --- a/src/main/java/utilities/flex/models/transientToken/TransientTokenUtility.java +++ /dev/null @@ -1,34 +0,0 @@ -package utilities.flex.models.transientToken; - -import java.util.Base64; - -import com.google.gson.Gson; - -public class TransientTokenUtility { - - /** - * This is the method to extract transient token from given jwt token - * @param jwt - * @return - */ - public JwtResponseModel extractTransientToken(String jwt) - { - // split the jwt token into two parts - // bearer and token part - String splitContents[] = jwt.split("."); - if(splitContents.length > 1) - { - // decode the base 64 encoded string - String encodedString = splitContents[1]; - byte[] decodedBytes = Base64.getDecoder().decode(encodedString); - String decodedString = new String(decodedBytes); - Gson gson=new Gson(); - // Map decoded string to response model - JwtResponseModel jwtResponseModel = gson.fromJson(decodedString,JwtResponseModel.class); - // return JTI string - return jwtResponseModel; - } - - return null; - } -} From 568e88ae67844a2bcef9ababc5b5a570e7c16042 Mon Sep 17 00:00:00 2001 From: karthikeyan kumar Date: Mon, 2 Aug 2021 12:37:09 +0530 Subject: [PATCH 7/7] adding new files --- .../transientToken/TransientTokenUtility.java | 34 +++++++++++++++++++ 1 file changed, 34 insertions(+) create mode 100644 src/main/java/utilities/flex/transientToken/TransientTokenUtility.java diff --git a/src/main/java/utilities/flex/transientToken/TransientTokenUtility.java b/src/main/java/utilities/flex/transientToken/TransientTokenUtility.java new file mode 100644 index 000000000..913fcce02 --- /dev/null +++ b/src/main/java/utilities/flex/transientToken/TransientTokenUtility.java @@ -0,0 +1,34 @@ +package utilities.flex.transientToken; + +import java.util.Base64; + +import com.google.gson.Gson; + +public class TransientTokenUtility { + + /** + * This is the method to extract transient token from given jwt token + * @param jwt + * @return + */ + public JwtResponseModel extractTransientToken(String jwt) + { + // split the jwt token into two parts + // bearer and token part + String splitContents[] = jwt.split("."); + if(splitContents.length > 1) + { + // decode the base 64 encoded string + String encodedString = splitContents[1]; + byte[] decodedBytes = Base64.getDecoder().decode(encodedString); + String decodedString = new String(decodedBytes); + Gson gson=new Gson(); + // Map decoded string to response model + JwtResponseModel jwtResponseModel = gson.fromJson(decodedString,JwtResponseModel.class); + // return JTI string + return jwtResponseModel; + } + + return null; + } +}