[java-idp-testbed] branch master updated: Add LogoutResponse capability to SLO endpoints.
Scott Cantor
cantor.2 at osu.edu
Mon Nov 2 14:06:39 EST 2015
This is an automated email from the git hooks/post-receive script.
scantor pushed a commit to branch master
in repository java-idp-testbed.
The following commit(s) were added to refs/heads/master by this push:
new 96f9da8 Add LogoutResponse capability to SLO endpoints.
96f9da8 is described below
commit 96f9da87f38cc11a1e5c89ea1c1b999a7f35805a
Author: Scott Cantor <cantor.2 at osu.edu>
AuthorDate: Mon Nov 2 14:06:51 2015 -0500
Add LogoutResponse capability to SLO endpoints.
---
src/main/java/sp/SAML2Controller.java | 23 ++++++++++++++++-------
1 file changed, 16 insertions(+), 7 deletions(-)
diff --git a/src/main/java/sp/SAML2Controller.java b/src/main/java/sp/SAML2Controller.java
index fe5b5ad..6419eca 100644
--- a/src/main/java/sp/SAML2Controller.java
+++ b/src/main/java/sp/SAML2Controller.java
@@ -209,9 +209,10 @@ public class SAML2Controller extends BaseSAMLController {
public ResponseEntity<String> handleSLOResponseRedirect(HttpServletRequest servletRequest, HttpServletResponse servletResponse) throws Exception {
final MessageContext<SAMLObject> messageContext = decodeInboundMessageContextRedirect(servletRequest);
- if (!(messageContext.getMessage() instanceof LogoutResponse)) {
- log.error("Inbound message was not a SAML 2 LogoutResponse");
- return new ResponseEntity<>("Inbound message was not a SAML 2 LogoutResponse", HttpStatus.BAD_REQUEST);
+ if (messageContext.getMessage() instanceof LogoutRequest) {
+ servletRequest.setAttribute("success", "1");
+ finishSLOResponseRedirect(servletRequest, servletResponse);
+ return null;
}
final LogoutResponse response = (LogoutResponse) messageContext.getMessage();
@@ -230,9 +231,10 @@ public class SAML2Controller extends BaseSAMLController {
public ResponseEntity<String> handleSLOResponsePOST(HttpServletRequest servletRequest, HttpServletResponse servletResponse) throws Exception {
final MessageContext<SAMLObject> messageContext = decodeInboundMessageContextPost(servletRequest);
- if (!(messageContext.getMessage() instanceof LogoutResponse)) {
- log.error("Inbound message was not a SAML 2 LogoutResponse");
- return new ResponseEntity<>("Inbound message was not a SAML 2 LogoutResponse", HttpStatus.BAD_REQUEST);
+ if (messageContext.getMessage() instanceof LogoutRequest) {
+ servletRequest.setAttribute("success", "1");
+ finishSLOResponsePost(servletRequest, servletResponse);
+ return null;
}
final LogoutResponse response = (LogoutResponse) messageContext.getMessage();
@@ -376,7 +378,14 @@ public class SAML2Controller extends BaseSAMLController {
final StatusCode code = (StatusCode) builderFactory.getBuilder(StatusCode.DEFAULT_ELEMENT_NAME).buildObject(StatusCode.DEFAULT_ELEMENT_NAME);
status.setStatusCode(code);
- final String param = servletRequest.getParameter("success");
+ String param = servletRequest.getParameter("success");
+ if (param == null) {
+ final Object attr = servletRequest.getAttribute("success");
+ if (attr != null) {
+ param = (String) attr;
+ }
+ }
+
if (param != null && "1".equals(param)) {
code.setValue(StatusCode.SUCCESS);
} else {
--
To stop receiving notification emails like this one, please contact
the administrator of this repository.
More information about the commits
mailing list