|
49 | 49 | import org.apereo.cas.logout.LogoutManager; |
50 | 50 | import org.apereo.cas.logout.slo.SingleLogoutExecutionRequest; |
51 | 51 | import org.apereo.cas.logout.slo.SingleLogoutRequestContext; |
| 52 | +import org.apereo.cas.logout.slo.SingleLogoutRequestExecutor; |
52 | 53 | import org.apereo.cas.services.BaseRegisteredService; |
53 | 54 | import org.apereo.cas.services.RegisteredService; |
54 | 55 | import org.apereo.cas.services.ServicesManager; |
|
67 | 68 | import java.util.Collection; |
68 | 69 | import java.util.List; |
69 | 70 | import java.util.Map; |
| 71 | +import java.util.Optional; |
70 | 72 |
|
71 | 73 | import static fr.gouv.vitamui.commons.api.CommonConstants.AUTHTOKEN_ATTRIBUTE; |
72 | 74 | import static fr.gouv.vitamui.commons.api.CommonConstants.SUPER_USER_ATTRIBUTE; |
@@ -95,10 +97,11 @@ public TerminateApiSessionAction( |
95 | 97 | final ServicesManager servicesManager, |
96 | 98 | final CasConfigurationProperties casProperties, |
97 | 99 | final Action frontChannelLogoutAction, |
98 | | - final TicketRegistry ticketRegistry |
| 100 | + final TicketRegistry ticketRegistry, |
| 101 | + final SingleLogoutRequestExecutor singleLogoutRequestExecutor |
99 | 102 | ) { |
100 | 103 | super(centralAuthenticationService, ticketGrantingTicketCookieGenerator, warnCookieGenerator, logoutProperties, |
101 | | - logoutManager, applicationContext, null); |
| 104 | + logoutManager, applicationContext, singleLogoutRequestExecutor); |
102 | 105 | this.utils = utils; |
103 | 106 | this.casApi = casApi; |
104 | 107 | this.servicesManager = servicesManager; |
@@ -126,8 +129,8 @@ public Event terminate(final RequestContext context) { |
126 | 129 | final Principal principal = ticket.getAuthentication().getPrincipal(); |
127 | 130 | final Map<String, List<Object>> attributes = principal.getAttributes(); |
128 | 131 | final String authToken = (String) utils.getAttributeValue(attributes, AUTHTOKEN_ATTRIBUTE); |
129 | | - final String superUserEmail = (String) utils.getAttributeValue(attributes, SUPER_USER_ATTRIBUTE); |
130 | | - final String superUserCustomerId = (String) utils.getAttributeValue(attributes, SUPER_USER_CUSTOMER_ID_ATTRIBUTE); |
| 132 | + final String superUserEmail = Optional.ofNullable((String) utils.getAttributeValue(attributes, SUPER_USER_ATTRIBUTE)).orElse(""); |
| 133 | + final String superUserCustomerId = Optional.ofNullable((String) utils.getAttributeValue(attributes, SUPER_USER_CUSTOMER_ID_ATTRIBUTE)).orElse(""); |
131 | 134 |
|
132 | 135 | LOGGER.debug("Calling logout for authToken={} and superUser={}, superUserCustomerId={}", |
133 | 136 | authToken, superUserEmail, superUserCustomerId); |
|
0 commit comments