本文整理汇总了Java中org.opensaml.messaging.context.MessageContext.setMessage方法的典型用法代码示例。如果您正苦于以下问题:Java MessageContext.setMessage方法的具体用法?Java MessageContext.setMessage怎么用?Java MessageContext.setMessage使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类org.opensaml.messaging.context.MessageContext
的用法示例。
在下文中一共展示了MessageContext.setMessage方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。
示例1: doDecode
import org.opensaml.messaging.context.MessageContext; //导入方法依赖的package包/类
/** {@inheritDoc} */
@Override
protected void doDecode() throws MessageDecodingException {
final MessageContext<OIDCWebFingerRequest> messageContext = new MessageContext<>();
final HttpServletRequest httpRequest = getHttpServletRequest();
final String resource = StringSupport.trimOrNull(httpRequest.getParameter("resource"));
if (resource == null) {
log.error("No resource parameter value found from the request");
throw new MessageDecodingException("Mandatory value for resource is missing");
}
final String rel = StringSupport.trim(httpRequest.getParameter("rel"));
if (rel == null) {
log.error("No rel parameter value found from the request");
throw new MessageDecodingException("Mandatory value for rel is missing");
}
final OIDCWebFingerRequestImpl request = new OIDCWebFingerRequestImpl(resource, rel);
log.debug("Decoded Web Finger request with resource = {} and rel = {}", resource, rel);
messageContext.setMessage(request);
setMessageContext(messageContext);
}
示例2: testResponseEncoding
import org.opensaml.messaging.context.MessageContext; //导入方法依赖的package包/类
@Test
public void testResponseEncoding() throws Exception {
AuthenticationErrorResponse resp = new AuthenticationErrorResponse(new URI("https://example.org"),
new ErrorObject("code", "desc"), new State(), null);
MessageContext<AuthenticationResponse> messageContext = new MessageContext<>();
messageContext.setMessage(resp);
MockHttpServletResponse response = new MockHttpServletResponse();
OIDCAuthenticationResponseEncoder encoder = new OIDCAuthenticationResponseEncoder();
encoder.setMessageContext(messageContext);
encoder.setHttpServletResponse(response);
encoder.initialize();
encoder.encode();
Assert.assertEquals("UTF-8", response.getCharacterEncoding(), "Unexpected character encoding");
Assert.assertEquals(response.getHeader("Cache-control"), "no-cache, no-store", "Unexpected cache controls");
}
开发者ID:CSCfi,项目名称:shibboleth-idp-oidc-extension,代码行数:21,代码来源:OIDCAuthenticationResponseEncoderTest.java
示例3: encodeSamlResponse
import org.opensaml.messaging.context.MessageContext; //导入方法依赖的package包/类
/**
* Encode response and pass it onto the outbound transport.
* Uses {@link CasHttpSoap11Encoder} to handle encoding.
*
* @param httpResponse the http response
* @param httpRequest the http request
* @param samlMessage the saml response
* @throws Exception the exception in case encoding fails.
*/
public void encodeSamlResponse(final HttpServletResponse httpResponse,
final HttpServletRequest httpRequest,
final Response samlMessage) throws Exception {
SamlUtils.logSamlObject(this.configBean, samlMessage);
final HTTPSOAP11Encoder encoder = new CasHttpSoap11Encoder();
final MessageContext<SAMLObject> context = new MessageContext();
context.setMessage(samlMessage);
encoder.setHttpServletResponse(httpResponse);
encoder.setMessageContext(context);
encoder.initialize();
encoder.prepareContext();
encoder.encode();
}
示例4: encode
import org.opensaml.messaging.context.MessageContext; //导入方法依赖的package包/类
@Override
protected Response encode(final SamlRegisteredService service,
final Response samlResponse,
final HttpServletResponse httpResponse,
final SamlRegisteredServiceServiceProviderMetadataFacade adaptor,
final String relayState,
final String binding) throws SamlException {
try {
if (httpResponse != null) {
final HTTPPostEncoder encoder = new HTTPPostEncoder();
encoder.setHttpServletResponse(httpResponse);
encoder.setVelocityEngine(this.velocityEngineFactory.createVelocityEngine());
final MessageContext outboundMessageContext = new MessageContext<>();
outboundMessageContext.setMessage(samlResponse);
SAMLBindingSupport.setRelayState(outboundMessageContext, relayState);
SamlIdPUtils.preparePeerEntitySamlEndpointContext(outboundMessageContext, adaptor, binding);
encoder.setMessageContext(outboundMessageContext);
encoder.initialize();
encoder.encode();
}
return samlResponse;
} catch (final Exception e) {
throw Throwables.propagate(e);
}
}
示例5: doDecode
import org.opensaml.messaging.context.MessageContext; //导入方法依赖的package包/类
@Override
protected void doDecode() throws MessageDecodingException {
final MessageContext messageContext = new MessageContext();
if(!"POST".equalsIgnoreCase(this.context.getRequestMethod())) {
throw new MessageDecodingException("This message decoder only supports the HTTP POST method");
} else {
final String relayState = this.context.getRequestParameter("RelayState");
logger.debug("Decoded SAML relay state of: {}", relayState);
SAMLBindingSupport.setRelayState(messageContext, relayState);
final InputStream base64DecodedMessage = this.getBase64DecodedMessage();
final SAMLObject inboundMessage = (SAMLObject)this.unmarshallMessage(base64DecodedMessage);
messageContext.setMessage(inboundMessage);
logger.debug("Decoded SAML message");
this.populateBindingContext(messageContext);
this.setMessageContext(messageContext);
}
}
示例6: doExecute
import org.opensaml.messaging.context.MessageContext; //导入方法依赖的package包/类
@Nonnull
@Override
protected Event doExecute(
final @Nonnull RequestContext springRequestContext,
final @Nonnull ProfileRequestContext<SAMLObject, SAMLObject> profileRequestContext) {
final MessageContext<SAMLObject> msgContext = new MessageContext<>();
try {
msgContext.setMessage(buildSamlResponse(springRequestContext, profileRequestContext));
} catch (IllegalStateException e) {
return ProtocolError.IllegalState.event(this);
}
final SAMLBindingContext bindingContext = new SAMLBindingContext();
bindingContext.setBindingUri(SAMLConstants.SAML1_SOAP11_BINDING_URI);
msgContext.addSubcontext(bindingContext);
profileRequestContext.setOutboundMessageContext(msgContext);
// Return null to signal that other actions must follow this one before proceeding to next state
return null;
}
示例7: doDecode
import org.opensaml.messaging.context.MessageContext; //导入方法依赖的package包/类
/** {@inheritDoc} */
@Override
protected void doDecode() throws MessageDecodingException {
MessageContext<TokenRequest> messageContext = new MessageContext<>();
TokenRequest req = null;
try {
req = TokenRequest.parse(ServletUtils.createHTTPRequest(getHttpServletRequest()));
} catch (com.nimbusds.oauth2.sdk.ParseException | IOException e) {
log.error("Unable to decode oidc token request: {}", e.getMessage());
throw new MessageDecodingException(e);
}
messageContext.setMessage(req);
setMessageContext(messageContext);
}
示例8: doDecode
import org.opensaml.messaging.context.MessageContext; //导入方法依赖的package包/类
/** {@inheritDoc} */
@Override
protected void doDecode() throws MessageDecodingException {
MessageContext<AuthenticationRequest> messageContext = new MessageContext<>();
AuthenticationRequest req = null;
try {
req = AuthenticationRequest.parse(ServletUtils.createHTTPRequest(getHttpServletRequest()));
} catch (com.nimbusds.oauth2.sdk.ParseException | IOException e) {
log.error("Unable to decode oidc request: {}", e.getMessage());
throw new MessageDecodingException(e);
}
messageContext.setMessage(req);
log.debug("Decoded oidc request {}", req.toQueryString());
setMessageContext(messageContext);
}
示例9: encodeSamlResponse
import org.opensaml.messaging.context.MessageContext; //导入方法依赖的package包/类
/**
* Encode response and pass it onto the outbound transport.
* Uses {@link CasHttpSoap11Encoder} to handle encoding.
*
* @param httpResponse the http response
* @param httpRequest the http request
* @param samlMessage the saml response
* @throws Exception the exception in case encoding fails.
*/
public void encodeSamlResponse(final HttpServletResponse httpResponse,
final HttpServletRequest httpRequest,
final Response samlMessage) throws Exception {
final HTTPSOAP11Encoder encoder = new CasHttpSoap11Encoder();
final MessageContext<SAMLObject> context = new MessageContext();
context.setMessage(samlMessage);
encoder.setHttpServletResponse(httpResponse);
encoder.setMessageContext(context);
encoder.initialize();
encoder.prepareContext();
encoder.encode();
}
示例10: encodeSamlResponse
import org.opensaml.messaging.context.MessageContext; //导入方法依赖的package包/类
/**
* Encode response and pass it onto the outbound transport.
* Uses {@link CasHTTPSOAP11Encoder} to handle encoding.
*
* @param httpResponse the http response
* @param httpRequest the http request
* @param samlMessage the saml response
* @throws Exception the exception in case encoding fails.
*/
public void encodeSamlResponse(final HttpServletResponse httpResponse,
final HttpServletRequest httpRequest,
final Response samlMessage) throws Exception {
final HTTPSOAP11Encoder encoder = new CasHTTPSOAP11Encoder();
final MessageContext<SAMLObject> context = new MessageContext();
context.setMessage(samlMessage);
encoder.setHttpServletResponse(httpResponse);
encoder.setMessageContext(context);
encoder.initialize();
encoder.prepareContext();
encoder.encode();
}
示例11: doExecute
import org.opensaml.messaging.context.MessageContext; //导入方法依赖的package包/类
@Nonnull
@Override
protected Event doExecute(
final @Nonnull RequestContext springRequestContext,
final @Nonnull ProfileRequestContext profileRequestContext) {
final ParameterMap params = springRequestContext.getRequestParameters();
final String service = params.get(ProtocolParam.TargetService.id());
if (service == null) {
return ProtocolError.ServiceNotSpecified.event(this);
}
final String ticket = params.get(ProtocolParam.Pgt.id());
if (ticket == null) {
return ProtocolError.TicketNotSpecified.event(this);
}
final ProxyTicketRequest proxyTicketRequest = new ProxyTicketRequest(ticket, service);
final MessageContext messageContext = new MessageContext();
messageContext.setMessage(proxyTicketRequest);
profileRequestContext.setInboundMessageContext(messageContext);
FlowStateSupport.setProxyTicketRequest(springRequestContext, proxyTicketRequest);
try {
log.debug("Fetching proxy-granting ticket {}", proxyTicketRequest.getPgt());
profileRequestContext.addSubcontext(
new TicketContext(ticketService.fetchProxyGrantingTicket(proxyTicketRequest.getPgt())));
} catch (RuntimeException e) {
log.error("Failed looking up " + proxyTicketRequest.getPgt(), e);
return ProtocolError.TicketRetrievalError.event(this);
}
return ActionSupport.buildProceedEvent(this);
}
示例12: doExecute
import org.opensaml.messaging.context.MessageContext; //导入方法依赖的package包/类
@Nonnull
@Override
protected Event doExecute(
final @Nonnull RequestContext springRequestContext,
final @Nonnull ProfileRequestContext profileRequestContext) {
final ParameterMap params = springRequestContext.getRequestParameters();
final String service = params.get(ProtocolParam.Service.id());
if (service == null) {
return ProtocolError.ServiceNotSpecified.event(this);
}
final String ticket = params.get(ProtocolParam.Ticket.id());
if (ticket == null) {
return ProtocolError.TicketNotSpecified.event(this);
}
final TicketValidationRequest ticketValidationRequest = new TicketValidationRequest(service, ticket);
final String renew = params.get(ProtocolParam.Renew.id());
if (renew != null) {
ticketValidationRequest.setRenew(true);
}
ticketValidationRequest.setPgtUrl(params.get(ProtocolParam.PgtUrl.id()));
final MessageContext messageContext = new MessageContext();
messageContext.setMessage(ticketValidationRequest);
profileRequestContext.setInboundMessageContext(messageContext);
FlowStateSupport.setTicketValidationRequest(springRequestContext, ticketValidationRequest);
return ActionSupport.buildProceedEvent(this);
}
示例13: doExecute
import org.opensaml.messaging.context.MessageContext; //导入方法依赖的package包/类
@Nonnull
@Override
protected Event doExecute(
final @Nonnull RequestContext springRequestContext,
final @Nonnull ProfileRequestContext<ServiceTicketRequest, Object> profileRequestContext) {
final ParameterMap params = springRequestContext.getRequestParameters();
String service = params.get(ProtocolParam.Service.id());
boolean isSaml = false;
if (service == null) {
service = params.get(SamlParam.TARGET.name());
if (service == null) {
return ProtocolError.ServiceNotSpecified.event(this);
}
isSaml = true;
}
final ServiceTicketRequest serviceTicketRequest = new ServiceTicketRequest(service);
serviceTicketRequest.setSaml(isSaml);
final String renew = params.get(ProtocolParam.Renew.id());
if (renew != null) {
serviceTicketRequest.setRenew(true);
}
// http://www.jasig.org/cas/protocol, section 2.1.1
// It is RECOMMENDED that CAS implementations ignore the "gateway" parameter if "renew" is set.
final String gateway = params.get(ProtocolParam.Gateway.id());
if (gateway != null && renew == null) {
serviceTicketRequest.setGateway(true);
}
final MessageContext<ServiceTicketRequest> messageContext = new MessageContext<>();
messageContext.setMessage(serviceTicketRequest);
profileRequestContext.setInboundMessageContext(messageContext);
FlowStateSupport.setServiceTicketRequest(springRequestContext, serviceTicketRequest);
return ActionSupport.buildProceedEvent(this);
}
示例14: prepareOutboundMessageContext
import org.opensaml.messaging.context.MessageContext; //导入方法依赖的package包/类
protected MessageContext<Pac4jSAMLResponse> prepareOutboundMessageContext(final WebContext webContext) {
final Pac4jSAMLResponse outTransport = new DefaultPac4jSAMLResponse(webContext);
final MessageContext<Pac4jSAMLResponse> outCtx = new MessageContext<>();
outCtx.setMessage(outTransport);
return outCtx;
}
示例15: prepareOutboundContext
import org.opensaml.messaging.context.MessageContext; //导入方法依赖的package包/类
/**
* Prepare outbound context.
*
* @param <T> the type parameter
* @param samlObject the saml object
* @param adaptor the adaptor
* @param outboundContext the outbound context
* @param binding the binding
* @throws SamlException the saml exception
*/
protected <T extends SAMLObject> void prepareOutboundContext(final T samlObject,
final SamlRegisteredServiceServiceProviderMetadataFacade adaptor,
final MessageContext<T> outboundContext,
final String binding) throws SamlException {
LOGGER.debug("Outbound saml object to use is [{}]", samlObject.getClass().getName());
outboundContext.setMessage(samlObject);
SamlIdPUtils.preparePeerEntitySamlEndpointContext(outboundContext, adaptor, binding);
}