You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cxf.apache.org by re...@apache.org on 2016/06/05 17:02:42 UTC

[14/33] cxf git commit: Preventing a possible NPE in IdTokenResponseFilter

Preventing a possible NPE in IdTokenResponseFilter


Project: http://git-wip-us.apache.org/repos/asf/cxf/repo
Commit: http://git-wip-us.apache.org/repos/asf/cxf/commit/6021189d
Tree: http://git-wip-us.apache.org/repos/asf/cxf/tree/6021189d
Diff: http://git-wip-us.apache.org/repos/asf/cxf/diff/6021189d

Branch: refs/heads/master-jaxrs-2.1
Commit: 6021189d1f783ae20353f71ddd211cf06c0ba5cf
Parents: 3b1ffa6
Author: Sergey Beryozkin <sb...@gmail.com>
Authored: Wed Jun 1 16:31:30 2016 +0100
Committer: Sergey Beryozkin <sb...@gmail.com>
Committed: Wed Jun 1 16:31:30 2016 +0100

----------------------------------------------------------------------
 .../oidc/idp/IdTokenResponseFilter.java         | 20 +++++++++++---------
 1 file changed, 11 insertions(+), 9 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/cxf/blob/6021189d/rt/rs/security/sso/oidc/src/main/java/org/apache/cxf/rs/security/oidc/idp/IdTokenResponseFilter.java
----------------------------------------------------------------------
diff --git a/rt/rs/security/sso/oidc/src/main/java/org/apache/cxf/rs/security/oidc/idp/IdTokenResponseFilter.java b/rt/rs/security/sso/oidc/src/main/java/org/apache/cxf/rs/security/oidc/idp/IdTokenResponseFilter.java
index ecf019b..08d6735 100644
--- a/rt/rs/security/sso/oidc/src/main/java/org/apache/cxf/rs/security/oidc/idp/IdTokenResponseFilter.java
+++ b/rt/rs/security/sso/oidc/src/main/java/org/apache/cxf/rs/security/oidc/idp/IdTokenResponseFilter.java
@@ -73,16 +73,18 @@ public class IdTokenResponseFilter extends OAuthServerJoseJwtProducer implements
             return st.getSubject().getProperties().get(OidcUtils.ID_TOKEN);
         } else if (st.getSubject() instanceof OidcUserSubject) {
             OidcUserSubject sub = (OidcUserSubject)st.getSubject();
-            IdToken idToken = new IdToken(sub.getIdToken());
-            idToken.setAudience(st.getClient().getClientId());
-            idToken.setAuthorizedParty(st.getClient().getClientId());
-            // if this token was refreshed then the cloned IDToken might need to have its
-            // issuedAt and expiry time properties adjusted if it proves to be necessary
-            setAtHashAndNonce(idToken, st);
-            return processJwt(new JwtToken(idToken), st.getClient());
-        } else {
-            return null;
+            if (sub.getIdToken() != null) {
+                IdToken idToken = new IdToken(sub.getIdToken());
+                idToken.setAudience(st.getClient().getClientId());
+                idToken.setAuthorizedParty(st.getClient().getClientId());
+                // if this token was refreshed then the cloned IDToken might need to have its
+                // issuedAt and expiry time properties adjusted if it proves to be necessary
+                setAtHashAndNonce(idToken, st);
+                return processJwt(new JwtToken(idToken), st.getClient());
+            }
         }
+        return null;
+        
     }
     private void setAtHashAndNonce(IdToken idToken, ServerAccessToken st) {
         String rType = st.getResponseType();