if (!session_id.empty()) {
// Do back channel notification.
vector<string> sessions(1, session_id);
- if (!notifyBackChannel(app, request.getRequestURL(), sessions, true)) {
- app.getServiceProvider().getSessionCache()->remove(app, request, &request);
- return sendLogoutPage(app, request, request, true, "Partial logout failure.");
- }
- request.getServiceProvider().getSessionCache()->remove(app, request, &request);
+ bool result = notifyBackChannel(app, request.getRequestURL(), sessions, true);
+ app.getServiceProvider().getSessionCache()->remove(app, request, &request);
+ if (!result)
+ return sendLogoutPage(app, request, request, "partial");
}
// Route back to return location specified, or use the local template.
const char* dest = request.getParameter("return");
if (dest)
return make_pair(true, request.sendRedirect(dest));
- return sendLogoutPage(app, request, request, true, "Logout was successful.");
+ return sendLogoutPage(app, request, request, "local");
}