From 27eb14742dd1093e9de39543515f1e87ec505a6c Mon Sep 17 00:00:00 2001 From: Carlos Perez Date: Sun, 7 Feb 2016 23:58:01 -0500 Subject: [PATCH 1/2] getAdditionalInformation no longer returns a new map on every call, so that extenders can store additional information if necessary --- .../org/mitre/oauth2/model/OAuth2AccessTokenEntity.java | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/openid-connect-common/src/main/java/org/mitre/oauth2/model/OAuth2AccessTokenEntity.java b/openid-connect-common/src/main/java/org/mitre/oauth2/model/OAuth2AccessTokenEntity.java index 00c966cd9b..8f53396a39 100644 --- a/openid-connect-common/src/main/java/org/mitre/oauth2/model/OAuth2AccessTokenEntity.java +++ b/openid-connect-common/src/main/java/org/mitre/oauth2/model/OAuth2AccessTokenEntity.java @@ -114,6 +114,8 @@ public class OAuth2AccessTokenEntity implements OAuth2AccessToken { private Set scope; private Set permissions; + + private Map additionalInformation = new HashMap<>(); /** * Create a new, blank access token @@ -145,11 +147,10 @@ public void setId(Long id) { @Override @Transient public Map getAdditionalInformation() { - Map map = new HashMap<>(); //super.getAdditionalInformation(); if (getIdToken() != null) { - map.put(ID_TOKEN_FIELD_NAME, getIdTokenString()); + additionalInformation.put(ID_TOKEN_FIELD_NAME, getIdTokenString()); } - return map; + return additionalInformation; } /** From 6feaad1edc4d76c2af2f8a4c733b45edc578bee0 Mon Sep 17 00:00:00 2001 From: Carlos Perez Date: Mon, 8 Feb 2016 08:18:20 -0500 Subject: [PATCH 2/2] getAdditionalInformation now retains original behavior and removes the id token attribute is the getIdToken method returns null --- .../java/org/mitre/oauth2/model/OAuth2AccessTokenEntity.java | 3 +++ 1 file changed, 3 insertions(+) diff --git a/openid-connect-common/src/main/java/org/mitre/oauth2/model/OAuth2AccessTokenEntity.java b/openid-connect-common/src/main/java/org/mitre/oauth2/model/OAuth2AccessTokenEntity.java index 8f53396a39..7f3f8ddac8 100644 --- a/openid-connect-common/src/main/java/org/mitre/oauth2/model/OAuth2AccessTokenEntity.java +++ b/openid-connect-common/src/main/java/org/mitre/oauth2/model/OAuth2AccessTokenEntity.java @@ -150,6 +150,9 @@ public Map getAdditionalInformation() { if (getIdToken() != null) { additionalInformation.put(ID_TOKEN_FIELD_NAME, getIdTokenString()); } + else if (additionalInformation.containsKey(ID_TOKEN_FIELD_NAME)) { + additionalInformation.remove(ID_TOKEN_FIELD_NAME); + } return additionalInformation; }