Java Code Examples for org.apache.cxf.message.Message#getContextualProperty()
The following examples show how to use
org.apache.cxf.message.Message#getContextualProperty() .
You can vote up the ones you like or vote down the ones you don't like,
and go to the original project or source file by following the links above each example. You may check out the related API usage on the sidebar.
Example 1
Source File: STSTokenValidator.java From steady with Apache License 2.0 | 6 votes |
static final TokenStore getTokenStore(Message message) { EndpointInfo info = message.getExchange().get(Endpoint.class).getEndpointInfo(); synchronized (info) { TokenStore tokenStore = (TokenStore)message.getContextualProperty(SecurityConstants.TOKEN_STORE_CACHE_INSTANCE); if (tokenStore == null) { tokenStore = (TokenStore)info.getProperty(SecurityConstants.TOKEN_STORE_CACHE_INSTANCE); } if (tokenStore == null) { TokenStoreFactory tokenStoreFactory = TokenStoreFactory.newInstance(); String cacheKey = SecurityConstants.TOKEN_STORE_CACHE_INSTANCE; if (info.getName() != null) { cacheKey += "-" + info.getName().toString().hashCode(); } tokenStore = tokenStoreFactory.newTokenStore(cacheKey, message); info.setProperty(SecurityConstants.TOKEN_STORE_CACHE_INSTANCE, tokenStore); } return tokenStore; } }
Example 2
Source File: KerberosTokenInterceptorProvider.java From steady with Apache License 2.0 | 6 votes |
static final TokenStore getTokenStore(Message message) { EndpointInfo info = message.getExchange().get(Endpoint.class).getEndpointInfo(); synchronized (info) { TokenStore tokenStore = (TokenStore)message.getContextualProperty(SecurityConstants.TOKEN_STORE_CACHE_INSTANCE); if (tokenStore == null) { tokenStore = (TokenStore)info.getProperty(SecurityConstants.TOKEN_STORE_CACHE_INSTANCE); } if (tokenStore == null) { TokenStoreFactory tokenStoreFactory = TokenStoreFactory.newInstance(); String cacheKey = SecurityConstants.TOKEN_STORE_CACHE_INSTANCE; if (info.getName() != null) { cacheKey += "-" + info.getName().toString().hashCode(); } tokenStore = tokenStoreFactory.newTokenStore(cacheKey, message); info.setProperty(SecurityConstants.TOKEN_STORE_CACHE_INSTANCE, tokenStore); } return tokenStore; } }
Example 3
Source File: WSSUsernameCallbackHandler.java From steady with Apache License 2.0 | 6 votes |
public void handle(Callback[] callbacks) throws IOException, UnsupportedCallbackException { for (int i = 0; i < callbacks.length; i++) { if (callbacks[i] instanceof DelegationCallback) { DelegationCallback callback = (DelegationCallback) callbacks[i]; Message message = callback.getCurrentMessage(); String username = (String)message.getContextualProperty(SecurityConstants.USERNAME); if (username != null) { Node contentNode = message.getContent(Node.class); Document doc = null; if (contentNode != null) { doc = contentNode.getOwnerDocument(); } else { doc = DOMUtils.createDocument(); } UsernameToken usernameToken = createWSSEUsernameToken(username, doc); callback.setToken(usernameToken.getElement()); } } else { throw new UnsupportedCallbackException(callbacks[i], "Unrecognized Callback"); } } }
Example 4
Source File: STSTokenValidator.java From steady with Apache License 2.0 | 6 votes |
static final TokenStore getTokenStore(Message message) { EndpointInfo info = message.getExchange().get(Endpoint.class).getEndpointInfo(); synchronized (info) { TokenStore tokenStore = (TokenStore)message.getContextualProperty(SecurityConstants.TOKEN_STORE_CACHE_INSTANCE); if (tokenStore == null) { tokenStore = (TokenStore)info.getProperty(SecurityConstants.TOKEN_STORE_CACHE_INSTANCE); } if (tokenStore == null) { TokenStoreFactory tokenStoreFactory = TokenStoreFactory.newInstance(); String cacheKey = SecurityConstants.TOKEN_STORE_CACHE_INSTANCE; if (info.getName() != null) { cacheKey += "-" + info.getName().toString().hashCode(); } tokenStore = tokenStoreFactory.newTokenStore(cacheKey, message); info.setProperty(SecurityConstants.TOKEN_STORE_CACHE_INSTANCE, tokenStore); } return tokenStore; } }
Example 5
Source File: NetworkAddressValidatingInterceptor.java From sakai with Educational Community License v2.0 | 6 votes |
@Override public void handleMessage(Message message) throws Fault { // JAX-RS Method method = getTargetMethod(message); HttpServletRequest request = (HttpServletRequest) message.getContextualProperty("HTTP.REQUEST"); if (!hasAnnotation(method) && (request == null || !remoteHostMatcher.isAllowed(request))) { // This is to prevent a full stack trace getting logged for a denied request message.put(FaultListener.class.getName(), new NoOpFaultListener()); Fault fault = new Fault( new org.apache.cxf.common.i18n.Message("Not permitted", (ResourceBundle) null), Fault.FAULT_CODE_CLIENT ); fault.setStatusCode(HttpServletResponse.SC_FORBIDDEN); throw fault; } }
Example 6
Source File: WSSUsernameCallbackHandler.java From steady with Apache License 2.0 | 6 votes |
public void handle(Callback[] callbacks) throws IOException, UnsupportedCallbackException { for (int i = 0; i < callbacks.length; i++) { if (callbacks[i] instanceof DelegationCallback) { DelegationCallback callback = (DelegationCallback) callbacks[i]; Message message = callback.getCurrentMessage(); String username = (String)message.getContextualProperty(SecurityConstants.USERNAME); if (username != null) { Node contentNode = message.getContent(Node.class); Document doc = null; if (contentNode != null) { doc = contentNode.getOwnerDocument(); } else { doc = DOMUtils.createDocument(); } UsernameToken usernameToken = createWSSEUsernameToken(username, doc); callback.setToken(usernameToken.getElement()); } } else { throw new UnsupportedCallbackException(callbacks[i], "Unrecognized Callback"); } } }
Example 7
Source File: IssuedTokenInterceptorProvider.java From steady with Apache License 2.0 | 6 votes |
static final TokenStore createTokenStore(Message message) { EndpointInfo info = message.getExchange().get(Endpoint.class).getEndpointInfo(); synchronized (info) { TokenStore tokenStore = (TokenStore)message.getContextualProperty(SecurityConstants.TOKEN_STORE_CACHE_INSTANCE); if (tokenStore == null) { tokenStore = (TokenStore)info.getProperty(SecurityConstants.TOKEN_STORE_CACHE_INSTANCE); } if (tokenStore == null) { TokenStoreFactory tokenStoreFactory = TokenStoreFactory.newInstance(); String cacheKey = SecurityConstants.TOKEN_STORE_CACHE_INSTANCE; if (info.getName() != null) { cacheKey += "-" + info.getName().toString().hashCode(); } tokenStore = tokenStoreFactory.newTokenStore(cacheKey, message); info.setProperty(SecurityConstants.TOKEN_STORE_CACHE_INSTANCE, tokenStore); } return tokenStore; } }
Example 8
Source File: SpnegoContextTokenInInterceptor.java From steady with Apache License 2.0 | 5 votes |
private void unmapSecurityProps(Message message) { Exchange ex = message.getExchange(); for (String s : SecurityConstants.ALL_PROPERTIES) { Object v = message.getContextualProperty(s); if (v != null) { ex.put(s, v); } } }
Example 9
Source File: PropertyUtils.java From cxf with Apache License 2.0 | 5 votes |
public static Long getLong(Message message, String key) { Object o = message.getContextualProperty(key); if (o instanceof Long) { return (Long)o; } else if (o instanceof Number) { return ((Number)o).longValue(); } else if (o instanceof String) { return Long.valueOf(o.toString()); } return null; }
Example 10
Source File: SpnegoContextTokenInInterceptor.java From cxf with Apache License 2.0 | 5 votes |
private SpnegoTokenContext handleBinaryExchange( Element binaryExchange, Message message, String namespace ) throws Exception { if (binaryExchange == null) { throw new Exception("No BinaryExchange element received"); } String encoding = binaryExchange.getAttributeNS(null, "EncodingType"); if (!WSS4JConstants.BASE64_ENCODING.equals(encoding)) { throw new Exception("Unknown encoding type: " + encoding); } String valueType = binaryExchange.getAttributeNS(null, "ValueType"); if (!(namespace + "/spnego").equals(valueType)) { throw new Exception("Unknown value type: " + valueType); } String content = DOMUtils.getContent(binaryExchange); byte[] decodedContent = XMLUtils.decode(content); String jaasContext = (String)message.getContextualProperty(SecurityConstants.KERBEROS_JAAS_CONTEXT_NAME); String kerberosSpn = (String)message.getContextualProperty(SecurityConstants.KERBEROS_SPN); CallbackHandler callbackHandler = SecurityUtils.getCallbackHandler( SecurityUtils.getSecurityPropertyValue(SecurityConstants.CALLBACK_HANDLER, message) ); SpnegoTokenContext spnegoToken = new SpnegoTokenContext(); spnegoToken.validateServiceTicket( jaasContext, callbackHandler, kerberosSpn, decodedContent ); return spnegoToken; }
Example 11
Source File: KeyManagementUtils.java From cxf with Apache License 2.0 | 5 votes |
public static String getKeyId(Message m, Properties props, String preferredPropertyName, KeyOperation keyOper) { String kid = null; String altPropertyName = null; if (keyOper != null && m != null) { if (keyOper == KeyOperation.ENCRYPT || keyOper == KeyOperation.DECRYPT) { altPropertyName = preferredPropertyName + ".jwe"; } else if (keyOper == KeyOperation.SIGN || keyOper == KeyOperation.VERIFY) { altPropertyName = preferredPropertyName + ".jws"; } String direction = m.getExchange().getOutMessage() == m ? ".out" : ".in"; kid = (String)MessageUtils.getContextualProperty(m, preferredPropertyName, altPropertyName + direction); // Check whether the direction is not set for the altPropertyName if (kid == null && altPropertyName != null) { kid = (String)m.getContextualProperty(altPropertyName); } } if (kid == null) { kid = props.getProperty(preferredPropertyName); } if (kid == null && altPropertyName != null) { kid = props.getProperty(altPropertyName); } return kid; }
Example 12
Source File: AbstractOutDatabindingInterceptor.java From cxf with Apache License 2.0 | 5 votes |
protected boolean shouldBuffer(Message message) { Object en = message.getContextualProperty(OUT_BUFFERING); boolean allowBuffer = true; boolean buffer = false; if (en != null) { buffer = Boolean.TRUE.equals(en) || "true".equals(en); allowBuffer = !(Boolean.FALSE.equals(en) || "false".equals(en)); } // need to cache the events in case validation fails or buffering is enabled return buffer || (allowBuffer && shouldValidate(message) && !isRequestor(message)); }
Example 13
Source File: TransformOutInterceptor.java From cxf with Apache License 2.0 | 5 votes |
public void handleMessage(Message message) { if (!isHttpVerbSupported(message)) { return; } if (contextPropertyName != null && !MessageUtils.getContextualBoolean(message.getExchange().getInMessage(), contextPropertyName, false)) { return; } if (skipOnFault && null != message.getContent(Exception.class) || MessageUtils.getContextualBoolean(message, TRANSFORM_SKIP, false)) { return; } XMLStreamWriter writer = message.getContent(XMLStreamWriter.class); OutputStream out = message.getContent(OutputStream.class); XMLStreamWriter transformWriter = createTransformWriterIfNeeded(writer, out); if (transformWriter != null) { message.setContent(XMLStreamWriter.class, transformWriter); if (message.getContextualProperty(DISABLE_OUTPUTSTREAM_OPTIMIZATION) == null) { message.put(DISABLE_OUTPUTSTREAM_OPTIMIZATION, Boolean.TRUE); } if (MessageUtils.isRequestor(message)) { message.removeContent(OutputStream.class); message.put(OUTPUT_STREAM_HOLDER, out); message.getInterceptorChain().add(ENDING); } } }
Example 14
Source File: SecureConversationInInterceptor.java From steady with Apache License 2.0 | 5 votes |
private void unmapSecurityProps(Message message) { Exchange ex = message.getExchange(); for (String s : SecurityConstants.ALL_PROPERTIES) { Object v = message.getContextualProperty(s + ".sct"); if (v != null) { ex.put(s, v); } } }
Example 15
Source File: IssuedTokenInterceptorProvider.java From steady with Apache License 2.0 | 5 votes |
static final TokenStore getTokenStore(Message message) { TokenStore tokenStore = (TokenStore)message.getContextualProperty(TokenStore.class.getName()); if (tokenStore == null) { tokenStore = createTokenStore(message); } return tokenStore; }
Example 16
Source File: SpnegoContextTokenInInterceptor.java From steady with Apache License 2.0 | 5 votes |
private SpnegoTokenContext handleBinaryExchange( Element binaryExchange, Message message, String namespace ) throws Exception { if (binaryExchange == null) { throw new Exception("No BinaryExchange element received"); } String encoding = binaryExchange.getAttributeNS(null, "EncodingType"); if (!BinarySecurity.BASE64_ENCODING.equals(encoding)) { throw new Exception("Unknown encoding type: " + encoding); } String valueType = binaryExchange.getAttributeNS(null, "ValueType"); if (!(namespace + "/spnego").equals(valueType)) { throw new Exception("Unknown value type: " + valueType); } String content = DOMUtils.getContent(binaryExchange); byte[] decodedContent = Base64.decode(content); String jaasContext = (String)message.getContextualProperty(SecurityConstants.KERBEROS_JAAS_CONTEXT_NAME); String kerberosSpn = (String)message.getContextualProperty(SecurityConstants.KERBEROS_SPN); CallbackHandler callbackHandler = NegotiationUtils.getCallbackHandler( message.getContextualProperty(SecurityConstants.CALLBACK_HANDLER), this.getClass() ); SpnegoTokenContext spnegoToken = new SpnegoTokenContext(); spnegoToken.validateServiceTicket( jaasContext, callbackHandler, kerberosSpn, decodedContent ); return spnegoToken; }
Example 17
Source File: JAXRSUtils.java From cxf with Apache License 2.0 | 4 votes |
private static Object processRequestBodyParameter(Class<?> parameterClass, Type parameterType, Annotation[] parameterAnns, Message message, OperationResourceInfo ori) throws IOException, WebApplicationException { if (parameterClass == AsyncResponse.class) { return new AsyncResponseImpl(message); } String contentType = (String)message.get(Message.CONTENT_TYPE); if (contentType == null) { String defaultCt = (String)message.getContextualProperty(DEFAULT_CONTENT_TYPE); contentType = defaultCt == null ? MediaType.APPLICATION_OCTET_STREAM : defaultCt; } MessageContext mc = new MessageContextImpl(message); MediaType mt = mc.getHttpHeaders().getMediaType(); InputStream is; if (mt == null || mt.isCompatible(MediaType.APPLICATION_FORM_URLENCODED_TYPE)) { is = copyAndGetEntityStream(message); } else { is = message.getContent(InputStream.class); } if (is == null) { Reader reader = message.getContent(Reader.class); if (reader != null) { is = new ReaderInputStream(reader); } } return readFromMessageBody(parameterClass, parameterType, parameterAnns, is, toMediaType(contentType), ori, message); }
Example 18
Source File: AbstractSpnegoAuthSupplier.java From cxf with Apache License 2.0 | 4 votes |
/** * Create and return a service ticket token for a given service principal * name * * @param authPolicy * @param spn * @return service ticket token * @throws GSSException * @throws LoginException */ private byte[] getToken(AuthorizationPolicy authPolicy, String spn, Oid oid, Message message) throws GSSException, LoginException { GSSCredential delegatedCred = (GSSCredential)message.getContextualProperty(GSSCredential.class.getName()); Subject subject = null; if (authPolicy != null && delegatedCred == null) { String contextName = authPolicy.getAuthorization(); if (contextName == null) { contextName = ""; } if (!(StringUtils.isEmpty(authPolicy.getUserName()) && StringUtils.isEmpty(contextName) && loginConfig == null)) { CallbackHandler callbackHandler = getUsernamePasswordHandler( authPolicy.getUserName(), authPolicy.getPassword()); LoginContext lc = new LoginContext(contextName, null, callbackHandler, loginConfig); lc.login(); subject = lc.getSubject(); } } GSSManager manager = GSSManager.getInstance(); GSSName serverName = manager.createName(spn, serviceNameType); GSSContext context = manager .createContext(serverName.canonicalize(oid), oid, delegatedCred, GSSContext.DEFAULT_LIFETIME); context.requestCredDeleg(isCredDelegationRequired(message)); // If the delegated cred is not null then we only need the context to // immediately return a ticket based on this credential without attempting // to log on again final byte[] token = new byte[0]; if (delegatedCred != null) { return context.initSecContext(token, 0, token.length); } decorateSubject(subject); try { return Subject.doAs(subject, new CreateServiceTicketAction(context, token)); } catch (PrivilegedActionException e) { if (e.getCause() instanceof GSSException) { throw (GSSException) e.getCause(); } LOG.log(Level.SEVERE, "initSecContext", e); return null; } }
Example 19
Source File: WSDLGetInterceptor.java From cxf with Apache License 2.0 | 4 votes |
public void handleMessage(Message message) throws Fault { String method = (String)message.get(Message.HTTP_REQUEST_METHOD); String query = (String)message.get(Message.QUERY_STRING); if (!"GET".equals(method) || StringUtils.isEmpty(query)) { return; } String baseUri = (String)message.get(Message.REQUEST_URL); String ctx = (String)message.get(Message.PATH_INFO); WSDLGetUtils utils = (WSDLGetUtils)message.getContextualProperty(WSDLGetUtils.class.getName()); if (utils == null) { utils = new WSDLGetUtils(); message.put(WSDLGetUtils.class, utils); } Map<String, String> map = UrlUtils.parseQueryString(query); if (isRecognizedQuery(map)) { Document doc = getDocument(utils, message, baseUri, map, ctx); Endpoint e = message.getExchange().getEndpoint(); Message mout = new MessageImpl(); mout.setExchange(message.getExchange()); mout = e.getBinding().createMessage(mout); mout.setInterceptorChain(OutgoingChainInterceptor.getOutInterceptorChain(message.getExchange())); message.getExchange().setOutMessage(mout); mout.put(DOCUMENT_HOLDER, doc); mout.put(Message.CONTENT_TYPE, "text/xml"); // just remove the interceptor which should not be used cleanUpOutInterceptors(mout); // notice this is being added after the purge above, don't swap the order! mout.getInterceptorChain().add(wsdlGetOutInterceptor); message.getExchange().put(TRANSFORM_SKIP, Boolean.TRUE); // skip the service executor and goto the end of the chain. message.getInterceptorChain().doInterceptStartingAt( message, OutgoingChainInterceptor.class.getName()); } }
Example 20
Source File: ExceptionUtils.java From cxf with Apache License 2.0 | 3 votes |
public static boolean propogateException(Message m) { Object value = m.getContextualProperty(PROPAGATE_EXCEPTION); if (value == null) { return true; } return Boolean.TRUE.equals(value) || "true".equalsIgnoreCase(value.toString()); }