Reporting a back channel logout support if needed
@@ -37,6 +37,7 @@ public class OidcConfigurationService extends AuthorizationMetadataService {
// Optional RP initiated logout
private boolean endSessionEndpointNotAvailable;
private String endSessionEndpointAddress;
+ private boolean backchannelLogoutSupported;
@Override
protected void prepareConfigurationData(Map<String, Object> cfg, String baseUri) {
@@ -60,6 +61,10 @@ public class OidcConfigurationService extends AuthorizationMetadataService {
calculateEndpointAddress(endSessionEndpointAddress, baseUri, "/idp/logout");
cfg.put("end_session_endpoint", theEndSessionEndpointAddress);
}
+
+ if (isBackchannelLogoutSupported()) {
+ cfg.put("backchannel_logout_supported", Boolean.TRUE);
+ }
}
public boolean isUserInfoEndpointNotAvailable() {
@@ -86,4 +91,12 @@ public class OidcConfigurationService extends AuthorizationMetadataService {
this.endSessionEndpointAddress = endSessionEndpointAddress;
}
+ public boolean isBackchannelLogoutSupported() {
+ return backchannelLogoutSupported;
+ }
+
+ public void setBackchannelLogoutSupported(boolean backchannelLogoutSupported) {
+ this.backchannelLogoutSupported = backchannelLogoutSupported;
+ }
+
}
