mirror of
https://gitee.com/dromara/MaxKey.git
synced 2025-12-07 01:18:27 +08:00
SAML receiverEndpoint
This commit is contained in:
parent
df2f99088a
commit
3ecfa6d480
@ -28,6 +28,7 @@ import org.opensaml.xml.parse.ParserPool;
|
|||||||
import org.opensaml.xml.util.DatatypeHelper;
|
import org.opensaml.xml.util.DatatypeHelper;
|
||||||
import org.slf4j.Logger;
|
import org.slf4j.Logger;
|
||||||
import org.slf4j.LoggerFactory;
|
import org.slf4j.LoggerFactory;
|
||||||
|
import org.springframework.security.web.util.UrlUtils;
|
||||||
|
|
||||||
public class OpenHTTPPostDecoder extends HTTPPostDecoder {
|
public class OpenHTTPPostDecoder extends HTTPPostDecoder {
|
||||||
private final Logger log = LoggerFactory.getLogger(OpenHTTPPostDecoder.class);
|
private final Logger log = LoggerFactory.getLogger(OpenHTTPPostDecoder.class);
|
||||||
@ -108,14 +109,15 @@ public class OpenHTTPPostDecoder extends HTTPPostDecoder {
|
|||||||
if (!(inTransport instanceof HttpServletRequestAdapter)) {
|
if (!(inTransport instanceof HttpServletRequestAdapter)) {
|
||||||
throw new MessageDecodingException("Message context InTransport instance was an unsupported type");
|
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 requestUrl = UrlUtils.buildFullRequestUrl(httpRequest);
|
||||||
|
if(requestUrl.indexOf("?") > -1) {
|
||||||
String tempUrl = urlBuilder.toString();
|
return requestUrl.substring(0, requestUrl.indexOf("?"));
|
||||||
// 从http协议头开始,跳过前面两个斜杠
|
}else {
|
||||||
tempUrl = tempUrl.substring(tempUrl.indexOf("/", 8) + 1);
|
return requestUrl;
|
||||||
return receiverEndpoint + tempUrl;
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|||||||
@ -28,6 +28,7 @@ import org.opensaml.xml.parse.ParserPool;
|
|||||||
import org.opensaml.xml.util.DatatypeHelper;
|
import org.opensaml.xml.util.DatatypeHelper;
|
||||||
import org.slf4j.Logger;
|
import org.slf4j.Logger;
|
||||||
import org.slf4j.LoggerFactory;
|
import org.slf4j.LoggerFactory;
|
||||||
|
import org.springframework.security.web.util.UrlUtils;
|
||||||
|
|
||||||
public class OpenHTTPPostSimpleSignDecoder extends HTTPPostSimpleSignDecoder {
|
public class OpenHTTPPostSimpleSignDecoder extends HTTPPostSimpleSignDecoder {
|
||||||
private final Logger log = LoggerFactory.getLogger(OpenHTTPPostSimpleSignDecoder.class);
|
private final Logger log = LoggerFactory.getLogger(OpenHTTPPostSimpleSignDecoder.class);
|
||||||
@ -113,14 +114,15 @@ public class OpenHTTPPostSimpleSignDecoder extends HTTPPostSimpleSignDecoder {
|
|||||||
if (!(inTransport instanceof HttpServletRequestAdapter)) {
|
if (!(inTransport instanceof HttpServletRequestAdapter)) {
|
||||||
throw new MessageDecodingException("Message context InTransport instance was an unsupported type");
|
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 requestUrl = UrlUtils.buildFullRequestUrl(httpRequest);
|
||||||
|
if(requestUrl.indexOf("?") > -1) {
|
||||||
String tempUrl = urlBuilder.toString();
|
return requestUrl.substring(0, requestUrl.indexOf("?"));
|
||||||
// 从http协议头开始,跳过前面两个斜杠
|
}else {
|
||||||
tempUrl = tempUrl.substring(tempUrl.indexOf("/", 8) + 1);
|
return requestUrl;
|
||||||
return receiverEndpoint + tempUrl;
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|||||||
@ -28,6 +28,7 @@ import org.opensaml.xml.parse.ParserPool;
|
|||||||
import org.opensaml.xml.util.DatatypeHelper;
|
import org.opensaml.xml.util.DatatypeHelper;
|
||||||
import org.slf4j.Logger;
|
import org.slf4j.Logger;
|
||||||
import org.slf4j.LoggerFactory;
|
import org.slf4j.LoggerFactory;
|
||||||
|
import org.springframework.security.web.util.UrlUtils;
|
||||||
|
|
||||||
public class OpenHTTPRedirectDecoder extends HTTPRedirectDeflateDecoder {
|
public class OpenHTTPRedirectDecoder extends HTTPRedirectDeflateDecoder {
|
||||||
private final Logger log = LoggerFactory.getLogger(OpenHTTPRedirectDecoder.class);
|
private final Logger log = LoggerFactory.getLogger(OpenHTTPRedirectDecoder.class);
|
||||||
@ -121,15 +122,14 @@ public class OpenHTTPRedirectDecoder extends HTTPRedirectDeflateDecoder {
|
|||||||
throw new MessageDecodingException(
|
throw new MessageDecodingException(
|
||||||
"Message context InTransport instance was an unsupported type");
|
"Message context InTransport instance was an unsupported type");
|
||||||
}
|
}
|
||||||
HttpServletRequest httpRequest = ((HttpServletRequestAdapter) inTransport)
|
HttpServletRequest httpRequest =
|
||||||
.getWrappedRequest();
|
((HttpServletRequestAdapter) inTransport).getWrappedRequest();
|
||||||
|
String requestUrl = UrlUtils.buildFullRequestUrl(httpRequest);
|
||||||
StringBuffer urlBuilder = httpRequest.getRequestURL();
|
if(requestUrl.indexOf("?") > -1) {
|
||||||
|
return requestUrl.substring(0, requestUrl.indexOf("?"));
|
||||||
String tempUrl = urlBuilder.toString();
|
}else {
|
||||||
// 从http协议头开始,跳过前面两个斜杠
|
return requestUrl;
|
||||||
tempUrl = tempUrl.substring(tempUrl.indexOf("/", 8) + 1);
|
}
|
||||||
return receiverEndpoint + tempUrl;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|||||||
@ -20,7 +20,6 @@
|
|||||||
*/
|
*/
|
||||||
package org.maxkey.web.apps.contorller;
|
package org.maxkey.web.apps.contorller;
|
||||||
|
|
||||||
import org.maxkey.constants.ConstsProtocols;
|
|
||||||
import org.maxkey.crypto.password.PasswordReciprocal;
|
import org.maxkey.crypto.password.PasswordReciprocal;
|
||||||
import org.maxkey.entity.apps.Apps;
|
import org.maxkey.entity.apps.Apps;
|
||||||
import org.maxkey.persistence.service.AppsService;
|
import org.maxkey.persistence.service.AppsService;
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user