89 JWTClaimsSet idTokenClaims = null;
90 ClientDetailsEntity client = null;
92 if (!Strings.isNullOrEmpty(postLogoutRedirectUri)) {
95 if (!Strings.isNullOrEmpty(state)) {
100 if (!Strings.isNullOrEmpty(idTokenHint)) {
102 JWT idToken = JWTParser.parse(idTokenHint);
106 idTokenClaims = idToken.getJWTClaimsSet();
108 String clientId = Iterables.getOnlyElement(idTokenClaims.getAudience());
116 }
catch (ParseException e) {
118 logger.debug(
"Invalid id token hint", e);
119 }
catch (InvalidClientException e) {
121 logger.debug(
"Invalid client", e);
126 if (auth == null || !request.isUserInRole(
"ROLE_USER")) {
128 return processLogout(null, request, response, session, auth, m);
135 if (idTokenClaims != null) {
136 String subject = idTokenClaims.getSubject();
139 if (!Strings.isNullOrEmpty(subject) && subject.equals(ui.getSub())) {
146 m.addAttribute(
"client", client);
147 m.addAttribute(
"idToken", idTokenClaims);
150 return "logoutConfirmation";
UserInfoService userInfoService
Definition: EndSessionEndpoint.java:74
static final String CLIENT_KEY
Definition: EndSessionEndpoint.java:64
SelfAssertionValidator validator
Definition: EndSessionEndpoint.java:71
ClientDetailsEntityService clientService
Definition: EndSessionEndpoint.java:77
String processLogout(@RequestParam(value="approve", required=false) String approved, HttpServletRequest request, HttpServletResponse response, HttpSession session, Authentication auth, Model m)
Definition: EndSessionEndpoint.java:155
UserInfo getByUsername(String username)
static final String STATE_KEY
Definition: EndSessionEndpoint.java:65
static final String REDIRECT_URI_KEY
Definition: EndSessionEndpoint.java:66
ClientDetailsEntity loadClientByClientId(String clientId)
boolean isValid(JWT assertion)
Definition: SelfAssertionValidator.java:52
static Logger logger
Definition: EndSessionEndpoint.java:68