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