import javax.servlet.http.HttpServletRequest;
-import org.opensaml.common.binding.BindingException;
import org.opensaml.common.binding.MessageDecoder;
-import org.opensaml.xml.XMLObject;
import edu.internet2.middleware.shibboleth.common.profile.ProfileRequest;
import edu.internet2.middleware.shibboleth.common.relyingparty.RelyingPartyConfiguration;
*/
public class ShibbolethProfileRequest implements ProfileRequest<HttpServletRequest, Session> {
- /** Decoder used to decode the incomming request. */
- private MessageDecoder<HttpServletRequest> messageDecoder;
-
/** The in comming request. */
private HttpServletRequest rawRequest;
/** Configuration information for the requesting party. */
private RelyingPartyConfiguration rpConfiguration;
- /** The decoded request message. */
- private XMLObject decodedMessage;
-
/** The current user session. */
private Session userSession;
rawRequest = request;
userSession = sessionManager.getSession(request.getSession().getId());
- messageDecoder = decoder;
- }
-
- /** {@inheritDoc} */
- public MessageDecoder<HttpServletRequest> getMessageDecoder() {
- return messageDecoder;
}
/** {@inheritDoc} */
}
/** {@inheritDoc} */
- public synchronized XMLObject getRequest() throws BindingException{
- if(decodedMessage == null){
- messageDecoder.setRequest(rawRequest);
- messageDecoder.decode();
- decodedMessage = messageDecoder.getSAMLMessage();
- }
- return decodedMessage;
- }
-
- /** {@inheritDoc} */
public Session getSession() {
return userSession;
}
import javax.servlet.http.HttpServletResponse;
-import org.opensaml.common.SAMLObject;
-import org.opensaml.common.binding.BindingException;
import org.opensaml.common.binding.MessageEncoder;
-import org.opensaml.xml.XMLObject;
import edu.internet2.middleware.shibboleth.common.profile.ProfileResponse;
*/
public class ShibbolethProfileResponse implements ProfileResponse<HttpServletResponse> {
- /** Encoder used to send the response. */
- private MessageEncoder<HttpServletResponse> messageEncoder;
-
/** The outgoing response. */
private HttpServletResponse rawResponse;
*/
public ShibbolethProfileResponse(HttpServletResponse response, MessageEncoder<HttpServletResponse> encoder) {
rawResponse = response;
- messageEncoder = encoder;
- }
-
- /** {@inheritDoc} */
- public MessageEncoder<HttpServletResponse> getMessageEncoder() {
- return messageEncoder;
}
/** {@inheritDoc} */
public HttpServletResponse getRawResponse() {
return rawResponse;
}
-
- /**
- * {@inheritDoc}
- *
- * @throws BindingException thrown if the message can not be encoded and sent to the relying party
- */
- public void sendResponse(XMLObject response) throws BindingException {
- messageEncoder.setResponse(rawResponse);
- messageEncoder.setSAMLMessage((SAMLObject) response);
- messageEncoder.encode();
- }
}
\ No newline at end of file