本文整理了Java中org.opensaml.messaging.context.MessageContext.getMessage()
方法的一些代码示例,展示了MessageContext.getMessage()
的具体用法。这些代码示例主要来源于Github
/Stackoverflow
/Maven
等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。MessageContext.getMessage()
方法的具体详情如下:
包路径:org.opensaml.messaging.context.MessageContext
类名称:MessageContext
方法名:getMessage
暂无
代码示例来源:origin: line/armeria
/**
* Invoked when the SAML authentication process is finished and a user is authenticated. You can get
* information about the authenticated user from the {@link Response}, especially his or her login name.
* In this example, an email address is used as a login name. The login name is transferred to a web
* browser via {@code Set-Cookie} header.
*/
@Override
public HttpResponse loginSucceeded(ServiceRequestContext ctx, AggregatedHttpMessage req,
MessageContext<Response> message, @Nullable String sessionIndex,
@Nullable String relayState) {
final String username =
getNameId(message.getMessage(), SamlNameIdFormat.EMAIL).map(NameIDType::getValue)
.orElse(null);
if (username == null) {
return HttpResponse.of(HttpStatus.UNAUTHORIZED, MediaType.HTML_UTF_8,
"<html><body>Username is not found.</body></html>");
}
logger.info("{} user '{}' has been logged in.", ctx, username);
final Cookie cookie = new DefaultCookie("username", username);
cookie.setHttpOnly(true);
cookie.setDomain("localhost");
cookie.setMaxAge(60);
cookie.setPath("/");
return HttpResponse.of(
HttpHeaders.of(HttpStatus.OK)
.contentType(MediaType.HTML_UTF_8)
.add(HttpHeaderNames.SET_COOKIE, ServerCookieEncoder.LAX.encode(cookie)),
HttpData.ofUtf8("<html><body onLoad=\"window.location.href='/welcome'\"></body></html>"));
}
代码示例来源:origin: line/armeria
@Override
public HttpResponse serve(ServiceRequestContext ctx, AggregatedHttpMessage msg,
String defaultHostname, SamlPortConfig portConfig) {
try {
final MessageContext<Response> messageContext;
if (cfg.endpoint().bindingProtocol() == SamlBindingProtocol.HTTP_REDIRECT) {
messageContext = HttpRedirectBindingUtil.toSamlObject(msg, SAML_RESPONSE,
idpConfigs, defaultIdpConfig);
} else {
messageContext = HttpPostBindingUtil.toSamlObject(msg, SAML_RESPONSE);
}
final String endpointUri = cfg.endpoint().toUriString(portConfig.scheme().uriText(),
defaultHostname, portConfig.port());
final Response response = messageContext.getMessage();
final Assertion assertion = getValidatedAssertion(response, endpointUri);
// Find a session index which is sent by an identity provider.
final String sessionIndex = assertion.getAuthnStatements().stream()
.map(AuthnStatement::getSessionIndex)
.filter(Objects::nonNull)
.findFirst().orElse(null);
final SAMLBindingContext bindingContext = messageContext.getSubcontext(SAMLBindingContext.class);
final String relayState = bindingContext != null ? bindingContext.getRelayState() : null;
return ssoHandler.loginSucceeded(ctx, msg, messageContext, sessionIndex, relayState);
} catch (SamlException e) {
return ssoHandler.loginFailed(ctx, msg, null, e);
}
}
代码示例来源:origin: line/armeria
if (endpoint.bindingProtocol() == SamlBindingProtocol.HTTP_REDIRECT) {
return responseWithLocation(toRedirectionUrl(
arg.messageContext.getMessage(),
endpoint.toUriString(), SAML_REQUEST,
signingCredential, sp.signatureAlgorithm(),
} else {
final String value = toSignedBase64(
arg.messageContext.getMessage(),
signingCredential,
sp.signatureAlgorithm());
代码示例来源:origin: line/armeria
final LogoutRequest logoutRequest = messageContext.getMessage();
final SamlIdentityProviderConfig idp = validateAndGetIdPConfig(logoutRequest, endpointUri);
代码示例来源:origin: org.opensaml/opensaml-saml-impl
/** {@inheritDoc} */
@Override
public Integer apply(@Nullable final MessageContext input) {
if (input != null) {
final Object message = input.getMessage();
if (message != null && message instanceof AuthnRequest) {
return ((AuthnRequest) message).getAttributeConsumingServiceIndex();
}
}
return null;
}
代码示例来源:origin: stackoverflow.com
MessageContext msgContext = _call.getMessageContext();
MimeHeaders hd = msgContext.getMessage().getMimeHeaders();
hd.addHeader("SessionID", sessionId);
代码示例来源:origin: org.opensaml/opensaml-saml-impl
/** {@inheritDoc} */
@Override
protected boolean doPreInvoke(@Nonnull final MessageContext messageContext) throws MessageHandlerException {
if (!super.doPreInvoke(messageContext) || messageContext.getMessage() == null) {
return false;
} else if (!SAMLBindingSupport.isMessageSigned(messageContext)) {
log.debug("Message was not signed, cannot extract ChannelBindings from it");
return false;
}
return true;
}
代码示例来源:origin: net.shibboleth.idp/idp-saml-impl
/** {@inheritDoc} */
@Override
@Nullable protected String getMessageToLog() {
return "SAML 1 IdP-initiated request was: " + getMessageContext().getMessage().toString();
}
代码示例来源:origin: net.shibboleth.idp/idp-authn-impl
/** {@inheritDoc} */
@Override
protected boolean doPreExecute(@Nonnull final ProfileRequestContext profileRequestContext,
@Nonnull final AuthenticationContext authenticationContext) {
final MessageContext inCtx = profileRequestContext.getInboundMessageContext();
if (inCtx == null || !(inCtx.getMessage() instanceof Envelope)) {
log.debug("{} Inbound message context missing or doesn't contain a SOAP Envelope", getLogPrefix());
ActionSupport.buildEvent(profileRequestContext, AuthnEventIds.NO_CREDENTIALS);
return false;
}
inboundMessage = (Envelope) inCtx.getMessage();
return super.doPreExecute(profileRequestContext, authenticationContext);
}
代码示例来源:origin: net.shibboleth.idp/idp-profile-impl
/** {@inheritDoc} */
@Override
@Nullable public String apply(@Nullable final ProfileRequestContext input) {
if (input != null && input.getInboundMessageContext() != null) {
final Object request = input.getInboundMessageContext().getMessage();
if (request != null && request instanceof ResolverTestRequest) {
return ((ResolverTestRequest) request).getPrincipal();
}
}
return null;
}
代码示例来源:origin: org.pac4j/pac4j-saml
@Override
protected void doEncode() throws MessageEncodingException {
MessageContext<SAMLObject> messageContext = getMessageContext();
SAMLObject outboundMessage = messageContext.getMessage();
if (outboundMessage == null) {
throw new MessageEncodingException("No outbound SAML message contained in message context");
}
String endpointURL = getEndpointURL(messageContext).toString();
postEncode(messageContext, endpointURL);
}
代码示例来源:origin: org.opensaml/opensaml-saml-impl
/** {@inheritDoc} */
protected void doEncode() throws MessageEncodingException {
MessageContext<SAMLObject> messageContext = getMessageContext();
SAMLObject outboundMessage = messageContext.getMessage();
if (outboundMessage == null) {
throw new MessageEncodingException("No outbound SAML message contained in message context");
}
String endpointURL = getEndpointURL(messageContext).toString();
postEncode(messageContext, endpointURL);
}
代码示例来源:origin: org.opensaml/opensaml-saml-impl
/** {@inheritDoc} */
protected void doEncode() throws MessageEncodingException {
MessageContext<SAMLObject> messageContext = getMessageContext();
SAMLObject outboundMessage = messageContext.getMessage();
if (outboundMessage == null) {
throw new MessageEncodingException("No outbound SAML message contained in message context");
}
String endpointURL = getEndpointURL(messageContext).toString();
postEncode(messageContext, endpointURL);
}
代码示例来源:origin: org.opensaml/opensaml-saml-impl
/** {@inheritDoc} */
protected void doDecode() throws MessageDecodingException {
super.doDecode();
populateBindingContext(getMessageContext());
SAMLObject samlMessage = getMessageContext().getMessage();
log.debug("Decoded SOAP messaged which included SAML message of type {}", samlMessage.getElementQName());
}
代码示例来源:origin: org.opensaml/opensaml-saml-impl
/** {@inheritDoc} */
protected void doDecode() throws MessageDecodingException {
super.doDecode();
populateBindingContext(getMessageContext());
SAMLObject samlMessage = getMessageContext().getMessage();
log.debug("Decoded SOAP messaged which included SAML message of type {}", samlMessage.getElementQName());
}
代码示例来源:origin: org.opensaml/opensaml-saml-impl
/** {@inheritDoc} */
protected void doDecode() throws MessageDecodingException {
super.doDecode();
populateBindingContext(getMessageContext());
SAMLObject samlMessage = getMessageContext().getMessage();
log.debug("Decoded SOAP messaged which included SAML message of type {}", samlMessage.getElementQName());
}
代码示例来源:origin: org.opensaml/opensaml-saml-impl
/** {@inheritDoc} */
protected void doDecode() throws MessageDecodingException {
super.doDecode();
populateBindingContext(getMessageContext());
SAMLObject samlMessage = getMessageContext().getMessage();
log.debug("Decoded SOAP messaged which included SAML message of type {}", samlMessage.getElementQName());
}
代码示例来源:origin: org.opensaml/opensaml-soap-impl
/** {@inheritDoc} */
public void prepareContext() throws MessageEncodingException {
MessageContext<MessageType> messageContext = getMessageContext();
MessageType message = messageContext.getMessage();
if (message == null) {
throw new MessageEncodingException("No outbound message contained in message context");
}
if (message instanceof Envelope) {
storeSOAPEnvelope((Envelope) message);
} else {
buildAndStoreSOAPMessage(message);
}
}
代码示例来源:origin: org.pac4j/pac4j-saml
@Override
protected void doEncode() throws MessageEncodingException {
final MessageContext messageContext = this.getMessageContext();
final SAMLObject outboundMessage = (SAMLObject)messageContext.getMessage();
final String endpointURL = this.getEndpointURL(messageContext).toString();
if (!this.isAuthnRequestSigned) {
this.removeSignature(outboundMessage);
}
final String encodedMessage = this.deflateAndBase64Encode(outboundMessage);
final String redirectURL = this.buildRedirectURL(messageContext, endpointURL, encodedMessage);
responseAdapter.init();
responseAdapter.setRedirectUrl(redirectURL);
}
代码示例来源:origin: org.opensaml/opensaml-saml-impl
/**
* Populate the context which carries information specific to this binding.
*
* @param messageContext the current message context
*/
protected void populateBindingContext(MessageContext<SAMLObject> messageContext) {
SAMLBindingContext bindingContext = messageContext.getSubcontext(SAMLBindingContext.class, true);
bindingContext.setBindingUri(getBindingURI());
bindingContext.setBindingDescriptor(bindingDescriptor);
bindingContext.setHasBindingSignature(false);
bindingContext.setIntendedDestinationEndpointURIRequired(
messageContext.getMessage() instanceof ResponseAbstractType);
}
内容来源于网络,如有侵权,请联系作者删除!