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/02/27 18:00:57 UTC
cxf git commit: Updating OidcConfigurationService to report an
end_session_endpoint address
Repository: cxf
Updated Branches:
refs/heads/master 52d774702 -> 34fd320f9
Updating OidcConfigurationService to report an end_session_endpoint address
Project: http://git-wip-us.apache.org/repos/asf/cxf/repo
Commit: http://git-wip-us.apache.org/repos/asf/cxf/commit/34fd320f
Tree: http://git-wip-us.apache.org/repos/asf/cxf/tree/34fd320f
Diff: http://git-wip-us.apache.org/repos/asf/cxf/diff/34fd320f
Branch: refs/heads/master
Commit: 34fd320f91d933233aeb364120456f4fa0f220ac
Parents: 52d7747
Author: Sergey Beryozkin <sb...@gmail.com>
Authored: Mon Feb 27 18:00:37 2017 +0000
Committer: Sergey Beryozkin <sb...@gmail.com>
Committed: Mon Feb 27 18:00:37 2017 +0000
----------------------------------------------------------------------
.../oidc/idp/OidcConfigurationService.java | 27 ++++++++++++++++++++
1 file changed, 27 insertions(+)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/cxf/blob/34fd320f/rt/rs/security/sso/oidc/src/main/java/org/apache/cxf/rs/security/oidc/idp/OidcConfigurationService.java
----------------------------------------------------------------------
diff --git a/rt/rs/security/sso/oidc/src/main/java/org/apache/cxf/rs/security/oidc/idp/OidcConfigurationService.java b/rt/rs/security/sso/oidc/src/main/java/org/apache/cxf/rs/security/oidc/idp/OidcConfigurationService.java
index 2563c93..bdc53d6 100644
--- a/rt/rs/security/sso/oidc/src/main/java/org/apache/cxf/rs/security/oidc/idp/OidcConfigurationService.java
+++ b/rt/rs/security/sso/oidc/src/main/java/org/apache/cxf/rs/security/oidc/idp/OidcConfigurationService.java
@@ -33,6 +33,10 @@ public class OidcConfigurationService extends AuthorizationMetadataService {
// Recommended - but optional
private boolean userInfoEndpointNotAvailable;
private String userInfoEndpointAddress;
+
+ // Optional RP initiated logout
+ private boolean endSessionEndpointNotAvailable;
+ private String endSessionEndpointAddress;
@Override
protected void prepareConfigurationData(Map<String, Object> cfg, String baseUri) {
@@ -49,6 +53,13 @@ public class OidcConfigurationService extends AuthorizationMetadataService {
cfg.put("id_token_signing_alg_values_supported",
Collections.singletonList(sigProps.get(JoseConstants.RSSEC_SIGNATURE_ALGORITHM)));
}
+
+ // RP Initiated Logout Endpoint
+ if (!isEndSessionEndpointNotAvailable()) {
+ String theEndSessionEndpointAddress =
+ calculateEndpointAddress(endSessionEndpointAddress, baseUri, "/idp/logout");
+ cfg.put("end_session_endpoint", theEndSessionEndpointAddress);
+ }
}
public boolean isUserInfoEndpointNotAvailable() {
@@ -59,4 +70,20 @@ public class OidcConfigurationService extends AuthorizationMetadataService {
this.userInfoEndpointNotAvailable = userInfoEndpointNotAvailable;
}
+ public boolean isEndSessionEndpointNotAvailable() {
+ return endSessionEndpointNotAvailable;
+ }
+
+ public void setEndSessionEndpointNotAvailable(boolean endSessionEndpointNotAvailable) {
+ this.endSessionEndpointNotAvailable = endSessionEndpointNotAvailable;
+ }
+
+ public String getEndSessionEndpointAddress() {
+ return endSessionEndpointAddress;
+ }
+
+ public void setEndSessionEndpointAddress(String endSessionEndpointAddress) {
+ this.endSessionEndpointAddress = endSessionEndpointAddress;
+ }
+
}