SAML receiverEndpoint

This commit is contained in:
MaxKey 2022-11-08 15:32:50 +08:00
parent df2f99088a
commit 3ecfa6d480
4 changed files with 27 additions and 24 deletions

View File

@ -28,6 +28,7 @@ import org.opensaml.xml.parse.ParserPool;
import org.opensaml.xml.util.DatatypeHelper;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.security.web.util.UrlUtils;
public class OpenHTTPPostDecoder extends HTTPPostDecoder {
private final Logger log = LoggerFactory.getLogger(OpenHTTPPostDecoder.class);
@ -108,14 +109,15 @@ public class OpenHTTPPostDecoder extends HTTPPostDecoder {
if (!(inTransport instanceof HttpServletRequestAdapter)) {
throw new MessageDecodingException("Message context InTransport instance was an unsupported type");
}
HttpServletRequest httpRequest = ((HttpServletRequestAdapter) inTransport).getWrappedRequest();
HttpServletRequest httpRequest =
((HttpServletRequestAdapter) inTransport).getWrappedRequest();
StringBuffer urlBuilder = httpRequest.getRequestURL();
String tempUrl = urlBuilder.toString();
// 从http协议头开始跳过前面两个斜杠
tempUrl = tempUrl.substring(tempUrl.indexOf("/", 8) + 1);
return receiverEndpoint + tempUrl;
String requestUrl = UrlUtils.buildFullRequestUrl(httpRequest);
if(requestUrl.indexOf("?") > -1) {
return requestUrl.substring(0, requestUrl.indexOf("?"));
}else {
return requestUrl;
}
}
/**

View File

@ -28,6 +28,7 @@ import org.opensaml.xml.parse.ParserPool;
import org.opensaml.xml.util.DatatypeHelper;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.security.web.util.UrlUtils;
public class OpenHTTPPostSimpleSignDecoder extends HTTPPostSimpleSignDecoder {
private final Logger log = LoggerFactory.getLogger(OpenHTTPPostSimpleSignDecoder.class);
@ -113,14 +114,15 @@ public class OpenHTTPPostSimpleSignDecoder extends HTTPPostSimpleSignDecoder {
if (!(inTransport instanceof HttpServletRequestAdapter)) {
throw new MessageDecodingException("Message context InTransport instance was an unsupported type");
}
HttpServletRequest httpRequest = ((HttpServletRequestAdapter) inTransport).getWrappedRequest();
HttpServletRequest httpRequest =
((HttpServletRequestAdapter) inTransport).getWrappedRequest();
StringBuffer urlBuilder = httpRequest.getRequestURL();
String tempUrl = urlBuilder.toString();
// 从http协议头开始跳过前面两个斜杠
tempUrl = tempUrl.substring(tempUrl.indexOf("/", 8) + 1);
return receiverEndpoint + tempUrl;
String requestUrl = UrlUtils.buildFullRequestUrl(httpRequest);
if(requestUrl.indexOf("?") > -1) {
return requestUrl.substring(0, requestUrl.indexOf("?"));
}else {
return requestUrl;
}
}
/**

View File

@ -28,6 +28,7 @@ import org.opensaml.xml.parse.ParserPool;
import org.opensaml.xml.util.DatatypeHelper;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.security.web.util.UrlUtils;
public class OpenHTTPRedirectDecoder extends HTTPRedirectDeflateDecoder {
private final Logger log = LoggerFactory.getLogger(OpenHTTPRedirectDecoder.class);
@ -121,15 +122,14 @@ public class OpenHTTPRedirectDecoder extends HTTPRedirectDeflateDecoder {
throw new MessageDecodingException(
"Message context InTransport instance was an unsupported type");
}
HttpServletRequest httpRequest = ((HttpServletRequestAdapter) inTransport)
.getWrappedRequest();
StringBuffer urlBuilder = httpRequest.getRequestURL();
String tempUrl = urlBuilder.toString();
// 从http协议头开始跳过前面两个斜杠
tempUrl = tempUrl.substring(tempUrl.indexOf("/", 8) + 1);
return receiverEndpoint + tempUrl;
HttpServletRequest httpRequest =
((HttpServletRequestAdapter) inTransport).getWrappedRequest();
String requestUrl = UrlUtils.buildFullRequestUrl(httpRequest);
if(requestUrl.indexOf("?") > -1) {
return requestUrl.substring(0, requestUrl.indexOf("?"));
}else {
return requestUrl;
}
}
/**

View File

@ -20,7 +20,6 @@
*/
package org.maxkey.web.apps.contorller;
import org.maxkey.constants.ConstsProtocols;
import org.maxkey.crypto.password.PasswordReciprocal;
import org.maxkey.entity.apps.Apps;
import org.maxkey.persistence.service.AppsService;