148             log.debug(
"Detected callback from external system. Resuming logout.");
   149             return ExternalLogoutResult.SUCCESS;
   153         if (authorizationGrant == null) {
   155             if ((endSessionWithAccessToken != null) && endSessionWithAccessToken) {
   159         if ((authorizationGrant == null) && (
sessionId == null)) {
   160             return ExternalLogoutResult.FAILURE;
   164         if (authorizationGrant == null) {
   167             acrValues = authorizationGrant.getAcrValues();
   170         boolean isExternalAuthenticatorLogoutPresent = StringHelper.isNotEmpty(acrValues);
   171         if (isExternalAuthenticatorLogoutPresent) {
   172             log.debug(
"Attemptinmg to execute logout method of '{}' external authenticator.", acrValues);
   175             if (customScriptConfiguration == null) {
   176                 log.error(
"Failed to get ExternalAuthenticatorConfiguration. acr_values: {}", acrValues);
   177                 return ExternalLogoutResult.FAILURE;
   180                 ExternalLogoutResult externalLogoutResult = scriptExternalLogoutResult ? ExternalLogoutResult.SUCCESS : ExternalLogoutResult.FAILURE;
   184                 if (apiVersion < 3) {
   186                     return externalLogoutResult;
   189                 log.trace(
"According to API version script supports logout redirects");
   193                 if (StringHelper.isEmpty(logoutExternalUrl)) {
   194                     return externalLogoutResult;
   200                 } 
catch (IOException ex) {
   201                     log.debug(
"Failed to persist logout parameters in session", ex);
   203                     return ExternalLogoutResult.FAILURE;
   208                 return ExternalLogoutResult.REDIRECT;
   211             return ExternalLogoutResult.SUCCESS;
 Map< String, String > getSessionAttributes()
Definition: SessionId.java:196
 
int executeExternalGetApiVersion(CustomScriptConfiguration customScriptConfiguration)
Definition: ExternalAuthenticationService.java:267
 
AuthorizationGrantList authorizationGrantList
Definition: LogoutAction.java:53
 
SessionId sessionId
Definition: LogoutAction.java:78
 
String getUserDn()
Definition: SessionId.java:152
 
CustomScriptConfiguration getCustomScriptConfigurationByName(String name)
Definition: ExternalAuthenticationService.java:400
 
static final String EXTERNAL_LOGOUT
Definition: LogoutAction.java:46
 
void storeLogoutParametersInSession(SessionId sessionId)
Definition: LogoutAction.java:215
 
String getAcr(SessionId session)
Definition: SessionIdService.java:109
 
String getId()
Definition: SessionId.java:136
 
String idTokenHint
Definition: LogoutAction.java:76
 
SessionIdService sessionIdService
Definition: LogoutAction.java:56
 
FacesService facesService
Definition: LogoutAction.java:68
 
AuthorizationGrant getAuthorizationGrantByIdToken(String idToken)
Definition: AuthorizationGrantList.java:179
 
ExternalAuthenticationService externalAuthenticationService
Definition: LogoutAction.java:59
 
String getLogoutExternalUrl(CustomScriptConfiguration customScriptConfiguration, Map< String, String[]> requestParameters)
Definition: ExternalAuthenticationService.java:211
 
Logger log
Definition: LogoutAction.java:50
 
AuthorizationGrant getAuthorizationGrantByAccessToken(String accessToken)
Definition: AuthorizationGrantList.java:166
 
boolean executeExternalLogout(CustomScriptConfiguration customScriptConfiguration, Map< String, String[]> requestParameters)
Definition: ExternalAuthenticationService.java:197
 
AppConfiguration appConfiguration
Definition: LogoutAction.java:65
 
Boolean getEndSessionWithAccessToken()
Definition: AppConfiguration.java:1209