当前位置: 首页>>代码示例>>Java>>正文


Java MessageContext.setMessage方法代码示例

本文整理汇总了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);
}
 
开发者ID:CSCfi,项目名称:shibboleth-idp-oidc-extension,代码行数:21,代码来源:OIDCWebFingerRequestDecoder.java

示例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();
}
 
开发者ID:mrluo735,项目名称:cas-5.1.0,代码行数:25,代码来源:Saml10ObjectBuilder.java

示例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);
    }
}
 
开发者ID:mrluo735,项目名称:cas-5.1.0,代码行数:26,代码来源:SamlProfileSaml2ResponseBuilder.java

示例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);
    }
}
 
开发者ID:yaochi,项目名称:pac4j-plus,代码行数:19,代码来源:Pac4jHTTPPostDecoder.java

示例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;
}
 
开发者ID:serac,项目名称:shibboleth-idp-ext-cas,代码行数:21,代码来源:AbstractOutgoingSamlMessageAction.java

示例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);
}
 
开发者ID:CSCfi,项目名称:shibboleth-idp-oidc-extension,代码行数:15,代码来源:OIDCTokenRequestDecoder.java

示例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);
}
 
开发者ID:CSCfi,项目名称:shibboleth-idp-oidc-extension,代码行数:16,代码来源:OIDCAuthenticationRequestDecoder.java

示例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();
}
 
开发者ID:hsj-xiaokang,项目名称:springboot-shiro-cas-mybatis,代码行数:23,代码来源:Saml10ObjectBuilder.java

示例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();
}
 
开发者ID:hsj-xiaokang,项目名称:springboot-shiro-cas-mybatis,代码行数:23,代码来源:Saml10ObjectBuilder.java

示例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);
}
 
开发者ID:serac,项目名称:shibboleth-idp-ext-cas,代码行数:31,代码来源:InitializeProxyAction.java

示例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);
}
 
开发者ID:serac,项目名称:shibboleth-idp-ext-cas,代码行数:30,代码来源:InitializeValidateAction.java

示例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);
}
 
开发者ID:serac,项目名称:shibboleth-idp-ext-cas,代码行数:38,代码来源:InitializeLoginAction.java

示例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;
}
 
开发者ID:yaochi,项目名称:pac4j-plus,代码行数:7,代码来源:SAML2ContextProvider.java

示例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);
}
 
开发者ID:mrluo735,项目名称:cas-5.1.0,代码行数:20,代码来源:BaseSamlObjectSigner.java


注:本文中的org.opensaml.messaging.context.MessageContext.setMessage方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。