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 2016/02/23 17:51:19 UTC
cxf git commit: Updating the way RP OidcSecurityContext sets the
principal name given a principal name is typically a single word,
and starting from a preferredUserName
Repository: cxf
Updated Branches:
refs/heads/master ac4e9af32 -> fc3c5c13d
Updating the way RP OidcSecurityContext sets the principal name given a principal name is typically a single word, and starting from a preferredUserName
Project: http://git-wip-us.apache.org/repos/asf/cxf/repo
Commit: http://git-wip-us.apache.org/repos/asf/cxf/commit/fc3c5c13
Tree: http://git-wip-us.apache.org/repos/asf/cxf/tree/fc3c5c13
Diff: http://git-wip-us.apache.org/repos/asf/cxf/diff/fc3c5c13
Branch: refs/heads/master
Commit: fc3c5c13d4749963f6dbb932c3a8d705f0cb6c3e
Parents: ac4e9af
Author: Sergey Beryozkin <sb...@gmail.com>
Authored: Tue Feb 23 16:51:03 2016 +0000
Committer: Sergey Beryozkin <sb...@gmail.com>
Committed: Tue Feb 23 16:51:03 2016 +0000
----------------------------------------------------------------------
.../security/oidc/rp/OidcSecurityContext.java | 30 ++++++++++++++------
1 file changed, 22 insertions(+), 8 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/cxf/blob/fc3c5c13/rt/rs/security/sso/oidc/src/main/java/org/apache/cxf/rs/security/oidc/rp/OidcSecurityContext.java
----------------------------------------------------------------------
diff --git a/rt/rs/security/sso/oidc/src/main/java/org/apache/cxf/rs/security/oidc/rp/OidcSecurityContext.java b/rt/rs/security/sso/oidc/src/main/java/org/apache/cxf/rs/security/oidc/rp/OidcSecurityContext.java
index 2c50bb8..f84ca1c 100644
--- a/rt/rs/security/sso/oidc/src/main/java/org/apache/cxf/rs/security/oidc/rp/OidcSecurityContext.java
+++ b/rt/rs/security/sso/oidc/src/main/java/org/apache/cxf/rs/security/oidc/rp/OidcSecurityContext.java
@@ -23,6 +23,7 @@ import javax.ws.rs.core.SecurityContext;
import org.apache.cxf.common.security.SimpleSecurityContext;
import org.apache.cxf.jaxrs.utils.HttpUtils;
import org.apache.cxf.jaxrs.utils.JAXRSUtils;
+import org.apache.cxf.rs.security.oidc.common.AbstractUserInfo;
import org.apache.cxf.rs.security.oidc.common.IdToken;
public class OidcSecurityContext extends SimpleSecurityContext implements SecurityContext {
@@ -44,20 +45,33 @@ public class OidcSecurityContext extends SimpleSecurityContext implements Securi
protected static String getPrincipalName(OidcClientTokenContext oidcContext) {
String name = null;
if (oidcContext.getUserInfo() != null) {
- name = oidcContext.getUserInfo().getSubject();
- if (name == null) {
- name = oidcContext.getUserInfo().getEmail();
- }
+ name = getPrincipalName(oidcContext.getUserInfo());
}
if (name == null && oidcContext.getIdToken() != null) {
- name = oidcContext.getIdToken().getSubject();
- if (name == null) {
- name = oidcContext.getIdToken().getEmail();
- }
+ name = getPrincipalName(oidcContext.getIdToken());
}
return name;
}
+ protected static String getPrincipalName(AbstractUserInfo info) {
+
+ String name = info.getPreferredUserName();
+ if (name == null) {
+ name = info.getGivenName();
+ }
+ if (name == null) {
+ name = info.getNickName();
+ }
+ if (name == null) {
+ name = info.getName();
+ }
+ if (name == null) {
+ name = info.getSubject();
+ }
+ return name;
+
+ }
+
@Override
public boolean isSecure() {
String value = HttpUtils.getEndpointAddress(JAXRSUtils.getCurrentMessage());