Repository: cxf-fediz Updated Branches: refs/heads/1.4.x-fixes e22353152 -> 81e0b796a
Adding an option to strip a path comp off from the dynamically calculated issuer uri Project: http://git-wip-us.apache.org/repos/asf/cxf-fediz/repo Commit: http://git-wip-us.apache.org/repos/asf/cxf-fediz/commit/81e0b796 Tree: http://git-wip-us.apache.org/repos/asf/cxf-fediz/tree/81e0b796 Diff: http://git-wip-us.apache.org/repos/asf/cxf-fediz/diff/81e0b796 Branch: refs/heads/1.4.x-fixes Commit: 81e0b796a7d4a786197ec5c38d46ae2bc4ad5ffb Parents: e223531 Author: Sergey Beryozkin <sberyoz...@gmail.com> Authored: Fri Sep 8 11:58:40 2017 +0100 Committer: Sergey Beryozkin <sberyoz...@gmail.com> Committed: Fri Sep 8 11:58:40 2017 +0100 ---------------------------------------------------------------------- .../fediz/service/oidc/FedizSubjectCreator.java | 18 +++++++++++++++++- 1 file changed, 17 insertions(+), 1 deletion(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/cxf-fediz/blob/81e0b796/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 eb495f9..e8ad831 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 @@ -18,6 +18,7 @@ */ package org.apache.cxf.fediz.service.oidc; +import java.net.URI; import java.security.Principal; import java.util.ArrayList; import java.util.Arrays; @@ -51,6 +52,7 @@ import org.opensaml.saml.saml2.core.Issuer; public class FedizSubjectCreator implements SubjectCreator { private static final String ROLES_SCOPE = "roles"; + private boolean stripPathFromIssuerUri; private String issuer; private long defaultTimeToLive = 3600L; private Map<String, String> supportedClaims = Collections.emptyMap(); @@ -132,7 +134,17 @@ public class FedizSubjectCreator implements SubjectCreator { String realIssuer = null; if (issuer.startsWith("/")) { UriBuilder ub = mc.getUriInfo().getBaseUriBuilder(); - realIssuer = ub.path(issuer).build().toString(); + URI uri = ub.path(issuer).build(); + if (this.stripPathFromIssuerUri) { + StringBuilder sb = new StringBuilder(); + sb.append(uri.getScheme()).append("://").append(uri.getHost()); + if (uri.getPort() != -1) { + sb.append(':').append(uri.getPort()); + } + realIssuer = sb.toString(); + } else { + realIssuer = uri.toString(); + } } else { realIssuer = issuer; } @@ -256,4 +268,8 @@ public class FedizSubjectCreator implements SubjectCreator { this.supportedClaims = supportedClaims; } + public void setStripPathFromIssuerUri(boolean stripPathFromIssuerUri) { + this.stripPathFromIssuerUri = stripPathFromIssuerUri; + } + }