You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cxf.apache.org by se...@apache.org on 2017/08/30 15:58:23 UTC
cxf-fediz git commit: [FEDIZ-207] Introducing FedizPrincipal.getId()
Repository: cxf-fediz
Updated Branches:
refs/heads/master 6dda060e3 -> d0f79c5dd
[FEDIZ-207] Introducing FedizPrincipal.getId()
Project: http://git-wip-us.apache.org/repos/asf/cxf-fediz/repo
Commit: http://git-wip-us.apache.org/repos/asf/cxf-fediz/commit/d0f79c5d
Tree: http://git-wip-us.apache.org/repos/asf/cxf-fediz/tree/d0f79c5d
Diff: http://git-wip-us.apache.org/repos/asf/cxf-fediz/diff/d0f79c5d
Branch: refs/heads/master
Commit: d0f79c5dd871674ca87fe40500f2ed80218a2646
Parents: 6dda060
Author: Sergey Beryozkin <sb...@gmail.com>
Authored: Wed Aug 30 16:54:41 2017 +0100
Committer: Sergey Beryozkin <sb...@gmail.com>
Committed: Wed Aug 30 16:58:05 2017 +0100
----------------------------------------------------------------------
.../java/org/apache/cxf/fediz/core/FedizPrincipal.java | 1 +
.../cxf/fediz/core/federation/TestSigninHandler.java | 6 ++++++
.../apache/cxf/fediz/cxf/plugin/CXFFedizPrincipal.java | 9 +++++++++
.../apache/cxf/fediz/jetty9/FederationUserPrincipal.java | 10 +++++++++-
.../authentication/FederationAuthenticationToken.java | 8 ++++++++
.../authentication/FederationAuthenticationToken.java | 8 ++++++++
.../apache/cxf/fediz/tomcat8/FederationPrincipalImpl.java | 9 ++++++++-
.../cxf/fediz/service/oidc/FedizSubjectCreator.java | 4 ++--
8 files changed, 51 insertions(+), 4 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/cxf-fediz/blob/d0f79c5d/plugins/core/src/main/java/org/apache/cxf/fediz/core/FedizPrincipal.java
----------------------------------------------------------------------
diff --git a/plugins/core/src/main/java/org/apache/cxf/fediz/core/FedizPrincipal.java b/plugins/core/src/main/java/org/apache/cxf/fediz/core/FedizPrincipal.java
index f74991a..10cf6f0 100644
--- a/plugins/core/src/main/java/org/apache/cxf/fediz/core/FedizPrincipal.java
+++ b/plugins/core/src/main/java/org/apache/cxf/fediz/core/FedizPrincipal.java
@@ -32,4 +32,5 @@ public interface FedizPrincipal extends Principal {
List<String> getRoleClaims();
+ String getId();
}
http://git-wip-us.apache.org/repos/asf/cxf-fediz/blob/d0f79c5d/plugins/core/src/test/java/org/apache/cxf/fediz/core/federation/TestSigninHandler.java
----------------------------------------------------------------------
diff --git a/plugins/core/src/test/java/org/apache/cxf/fediz/core/federation/TestSigninHandler.java b/plugins/core/src/test/java/org/apache/cxf/fediz/core/federation/TestSigninHandler.java
index b7a5802..1317fd1 100644
--- a/plugins/core/src/test/java/org/apache/cxf/fediz/core/federation/TestSigninHandler.java
+++ b/plugins/core/src/test/java/org/apache/cxf/fediz/core/federation/TestSigninHandler.java
@@ -92,6 +92,12 @@ public class TestSigninHandler extends SigninHandler<FedizPrincipal> {
return roles;
}
+ @Override
+ public String getId() {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
}
}
http://git-wip-us.apache.org/repos/asf/cxf-fediz/blob/d0f79c5d/plugins/cxf/src/main/java/org/apache/cxf/fediz/cxf/plugin/CXFFedizPrincipal.java
----------------------------------------------------------------------
diff --git a/plugins/cxf/src/main/java/org/apache/cxf/fediz/cxf/plugin/CXFFedizPrincipal.java b/plugins/cxf/src/main/java/org/apache/cxf/fediz/cxf/plugin/CXFFedizPrincipal.java
index 325de9c..326fff5 100644
--- a/plugins/cxf/src/main/java/org/apache/cxf/fediz/cxf/plugin/CXFFedizPrincipal.java
+++ b/plugins/cxf/src/main/java/org/apache/cxf/fediz/cxf/plugin/CXFFedizPrincipal.java
@@ -20,6 +20,7 @@ package org.apache.cxf.fediz.cxf.plugin;
import java.util.Collections;
import java.util.List;
+import java.util.UUID;
import org.w3c.dom.Element;
import org.apache.cxf.fediz.core.Claim;
@@ -28,10 +29,12 @@ import org.apache.cxf.fediz.core.FedizPrincipal;
public class CXFFedizPrincipal implements FedizPrincipal {
+ private String principalId;
private final String subject;
private final List<Claim> claims;
private Element token;
private List<String> roles = Collections.emptyList();
+
public CXFFedizPrincipal(String subject, List<Claim> claims, List<String> roles, Element token) {
this.subject = subject;
@@ -40,6 +43,7 @@ public class CXFFedizPrincipal implements FedizPrincipal {
if (roles != null) {
this.roles = roles;
}
+ principalId = UUID.randomUUID().toString();
}
@Override
@@ -60,4 +64,9 @@ public class CXFFedizPrincipal implements FedizPrincipal {
public List<String> getRoleClaims() {
return Collections.unmodifiableList(roles);
}
+
+ @Override
+ public String getId() {
+ return principalId;
+ }
}
http://git-wip-us.apache.org/repos/asf/cxf-fediz/blob/d0f79c5d/plugins/jetty9/src/main/java/org/apache/cxf/fediz/jetty9/FederationUserPrincipal.java
----------------------------------------------------------------------
diff --git a/plugins/jetty9/src/main/java/org/apache/cxf/fediz/jetty9/FederationUserPrincipal.java b/plugins/jetty9/src/main/java/org/apache/cxf/fediz/jetty9/FederationUserPrincipal.java
index 46d5f6e..edce599 100644
--- a/plugins/jetty9/src/main/java/org/apache/cxf/fediz/jetty9/FederationUserPrincipal.java
+++ b/plugins/jetty9/src/main/java/org/apache/cxf/fediz/jetty9/FederationUserPrincipal.java
@@ -21,6 +21,7 @@ package org.apache.cxf.fediz.jetty9;
import java.util.Collections;
import java.util.List;
+import java.util.UUID;
import org.w3c.dom.Element;
@@ -29,6 +30,7 @@ import org.apache.cxf.fediz.core.FedizPrincipal;
import org.apache.cxf.fediz.core.processor.FedizResponse;
public class FederationUserPrincipal implements FedizPrincipal {
+ private String principalId;
private String name;
private ClaimCollection claims;
private FedizResponse response;
@@ -41,6 +43,7 @@ public class FederationUserPrincipal implements FedizPrincipal {
if (response.getRoles() != null) {
this.roles = response.getRoles();
}
+ principalId = UUID.randomUUID().toString();
}
@Override
@@ -48,7 +51,7 @@ public class FederationUserPrincipal implements FedizPrincipal {
return name;
}
-
+
@Override
public ClaimCollection getClaims() {
return claims;
@@ -68,4 +71,9 @@ public class FederationUserPrincipal implements FedizPrincipal {
public List<String> getRoleClaims() {
return Collections.unmodifiableList(roles);
}
+
+ @Override
+ public String getId() {
+ return principalId;
+ }
}
http://git-wip-us.apache.org/repos/asf/cxf-fediz/blob/d0f79c5d/plugins/spring/src/main/java/org/apache/cxf/fediz/spring/authentication/FederationAuthenticationToken.java
----------------------------------------------------------------------
diff --git a/plugins/spring/src/main/java/org/apache/cxf/fediz/spring/authentication/FederationAuthenticationToken.java b/plugins/spring/src/main/java/org/apache/cxf/fediz/spring/authentication/FederationAuthenticationToken.java
index 5ed8d57..ca63efc 100644
--- a/plugins/spring/src/main/java/org/apache/cxf/fediz/spring/authentication/FederationAuthenticationToken.java
+++ b/plugins/spring/src/main/java/org/apache/cxf/fediz/spring/authentication/FederationAuthenticationToken.java
@@ -23,6 +23,7 @@ import java.io.Serializable;
import java.util.Collection;
import java.util.Collections;
import java.util.List;
+import java.util.UUID;
import org.w3c.dom.Element;
import org.apache.cxf.fediz.core.ClaimCollection;
@@ -41,6 +42,7 @@ public class FederationAuthenticationToken extends AbstractAuthenticationToken
private static final long serialVersionUID = SpringSecurityCoreVersion.SERIAL_VERSION_UID;
+ private String principalId;
private final Object credentials;
private final Object principal;
private final UserDetails userDetails;
@@ -66,6 +68,7 @@ public class FederationAuthenticationToken extends AbstractAuthenticationToken
if (response.getRoles() != null) {
this.roles = response.getRoles();
}
+ principalId = UUID.randomUUID().toString();
}
public Object getCredentials() {
@@ -106,4 +109,9 @@ public class FederationAuthenticationToken extends AbstractAuthenticationToken
public List<String> getRoleClaims() {
return Collections.unmodifiableList(roles);
}
+
+ @Override
+ public String getId() {
+ return principalId;
+ }
}
http://git-wip-us.apache.org/repos/asf/cxf-fediz/blob/d0f79c5d/plugins/spring3/src/main/java/org/apache/cxf/fediz/spring/authentication/FederationAuthenticationToken.java
----------------------------------------------------------------------
diff --git a/plugins/spring3/src/main/java/org/apache/cxf/fediz/spring/authentication/FederationAuthenticationToken.java b/plugins/spring3/src/main/java/org/apache/cxf/fediz/spring/authentication/FederationAuthenticationToken.java
index 5ed8d57..ca63efc 100644
--- a/plugins/spring3/src/main/java/org/apache/cxf/fediz/spring/authentication/FederationAuthenticationToken.java
+++ b/plugins/spring3/src/main/java/org/apache/cxf/fediz/spring/authentication/FederationAuthenticationToken.java
@@ -23,6 +23,7 @@ import java.io.Serializable;
import java.util.Collection;
import java.util.Collections;
import java.util.List;
+import java.util.UUID;
import org.w3c.dom.Element;
import org.apache.cxf.fediz.core.ClaimCollection;
@@ -41,6 +42,7 @@ public class FederationAuthenticationToken extends AbstractAuthenticationToken
private static final long serialVersionUID = SpringSecurityCoreVersion.SERIAL_VERSION_UID;
+ private String principalId;
private final Object credentials;
private final Object principal;
private final UserDetails userDetails;
@@ -66,6 +68,7 @@ public class FederationAuthenticationToken extends AbstractAuthenticationToken
if (response.getRoles() != null) {
this.roles = response.getRoles();
}
+ principalId = UUID.randomUUID().toString();
}
public Object getCredentials() {
@@ -106,4 +109,9 @@ public class FederationAuthenticationToken extends AbstractAuthenticationToken
public List<String> getRoleClaims() {
return Collections.unmodifiableList(roles);
}
+
+ @Override
+ public String getId() {
+ return principalId;
+ }
}
http://git-wip-us.apache.org/repos/asf/cxf-fediz/blob/d0f79c5d/plugins/tomcat8/src/main/java/org/apache/cxf/fediz/tomcat8/FederationPrincipalImpl.java
----------------------------------------------------------------------
diff --git a/plugins/tomcat8/src/main/java/org/apache/cxf/fediz/tomcat8/FederationPrincipalImpl.java b/plugins/tomcat8/src/main/java/org/apache/cxf/fediz/tomcat8/FederationPrincipalImpl.java
index 81408c7..a71ff06 100644
--- a/plugins/tomcat8/src/main/java/org/apache/cxf/fediz/tomcat8/FederationPrincipalImpl.java
+++ b/plugins/tomcat8/src/main/java/org/apache/cxf/fediz/tomcat8/FederationPrincipalImpl.java
@@ -21,6 +21,7 @@ package org.apache.cxf.fediz.tomcat8;
import java.util.Collections;
import java.util.List;
+import java.util.UUID;
import org.w3c.dom.Element;
import org.apache.catalina.realm.GenericPrincipal;
@@ -29,7 +30,7 @@ import org.apache.cxf.fediz.core.ClaimCollection;
import org.apache.cxf.fediz.core.FedizPrincipal;
public class FederationPrincipalImpl extends GenericPrincipal implements FedizPrincipal {
-
+ protected String principalId;
protected ClaimCollection claims;
protected Element loginToken;
private List<String> roles = Collections.emptyList();
@@ -42,6 +43,7 @@ public class FederationPrincipalImpl extends GenericPrincipal implements FedizPr
if (roles != null) {
this.roles = roles;
}
+ principalId = UUID.randomUUID().toString();
}
public ClaimCollection getClaims() {
@@ -56,4 +58,9 @@ public class FederationPrincipalImpl extends GenericPrincipal implements FedizPr
public List<String> getRoleClaims() {
return Collections.unmodifiableList(roles);
}
+
+ @Override
+ public String getId() {
+ return principalId;
+ }
}
http://git-wip-us.apache.org/repos/asf/cxf-fediz/blob/d0f79c5d/services/oidc/src/main/java/org/apache/cxf/fediz/service/oidc/FedizSubjectCreator.java
----------------------------------------------------------------------
diff --git a/services/oidc/src/main/java/org/apache/cxf/fediz/service/oidc/FedizSubjectCreator.java b/services/oidc/src/main/java/org/apache/cxf/fediz/service/oidc/FedizSubjectCreator.java
index 8479895..09350ef 100644
--- a/services/oidc/src/main/java/org/apache/cxf/fediz/service/oidc/FedizSubjectCreator.java
+++ b/services/oidc/src/main/java/org/apache/cxf/fediz/service/oidc/FedizSubjectCreator.java
@@ -70,8 +70,8 @@ public class FedizSubjectCreator implements SubjectCreator {
OidcUserSubject oidcSub = new OidcUserSubject();
oidcSub.setLogin(fedizPrincipal.getName());
- // REVISIT: use fedizPrincipal.getId() to guarantee the uniqueness once FEDIZ-207 is resolved
- oidcSub.setId(fedizPrincipal.getName());
+ String principalId = fedizPrincipal.getId();
+ oidcSub.setId(principalId != null ? principalId : fedizPrincipal.getName());
IdToken idToken = convertToIdToken(mc,
fedizPrincipal.getLoginToken(),