protected void addCxfProvider(JAXRSClientFactoryBean factory, Object provider) { org.apache.cxf.annotations.Provider ann = provider.getClass().getAnnotation(org.apache.cxf.annotations.Provider.class); if (ann.scope() == Scope.Server) { return; } if (ann.value() == org.apache.cxf.annotations.Provider.Type.Feature) { factory.getFeatures().add((Feature)provider); } else if (ann.value() == org.apache.cxf.annotations.Provider.Type.InInterceptor) { factory.getInInterceptors().add((Interceptor<?>)provider); } else if (ann.value() == org.apache.cxf.annotations.Provider.Type.OutInterceptor) { factory.getOutInterceptors().add((Interceptor<?>)provider); } } protected abstract void setJaxrsResources(JAXRSClientFactoryBean factory);
protected void addCxfProvider(JAXRSClientFactoryBean factory, Object provider) { org.apache.cxf.annotations.Provider ann = provider.getClass().getAnnotation(org.apache.cxf.annotations.Provider.class); if (ann.scope() == Scope.Server) { return; } if (ann.value() == org.apache.cxf.annotations.Provider.Type.Feature) { factory.getFeatures().add((Feature)provider); } else if (ann.value() == org.apache.cxf.annotations.Provider.Type.InInterceptor) { factory.getInInterceptors().add((Interceptor<?>)provider); } else if (ann.value() == org.apache.cxf.annotations.Provider.Type.OutInterceptor) { factory.getOutInterceptors().add((Interceptor<?>)provider); } } protected abstract void setJaxrsResources(JAXRSClientFactoryBean factory);
private WebClient createClient(String address, String userName, String password) { JAXRSClientFactoryBean bean = new JAXRSClientFactoryBean(); bean.setAddress(address); bean.setUsername(userName); bean.setPassword(password); bean.getOutInterceptors().add(new LoggingOutInterceptor()); bean.getInInterceptors().add(new LoggingInInterceptor()); return bean.createWebClient(); }
protected JAXRSClientFactoryBean getClientFactory() { if (null == cachedClientFactory) { JAXRSClientFactoryBean factoryBean = new JAXRSClientFactoryBean(); factoryBean.setThreadSafe(true); factoryBean.setAddress(getServerURL()); if (Authentication.BASIC == auxiliaryStorageAuthentication) { factoryBean.setUsername(authenticationUser); factoryBean.setPassword(authenticationPassword); } if (Authentication.SAML == auxiliaryStorageAuthentication) { STSClient stsClient = STSClientCreator.create(factoryBean.getBus(), stsProps); STSRESTOutInterceptor outInterceptor = new STSRESTOutInterceptor(); outInterceptor.setStsClient(stsClient); factoryBean.getOutInterceptors().add(outInterceptor); factoryBean.getOutInterceptors().add(new SamlHeaderOutInterceptor()); } cachedClientFactory = factoryBean; } return cachedClientFactory; }
protected JAXRSClientFactoryBean getClientFactory() { if (null == cachedClientFactory) { JAXRSClientFactoryBean factoryBean = new JAXRSClientFactoryBean(); factoryBean.setThreadSafe(true); factoryBean.setAddress(getServerURL()); if (Authentication.BASIC == auxiliaryStorageAuthentication) { factoryBean.setUsername(authenticationUser); factoryBean.setPassword(authenticationPassword); } if (Authentication.SAML == auxiliaryStorageAuthentication) { STSClient stsClient = STSClientCreator.create(factoryBean.getBus(), stsProps); STSRESTOutInterceptor outInterceptor = new STSRESTOutInterceptor(); outInterceptor.setStsClient(stsClient); factoryBean.getOutInterceptors().add(outInterceptor); factoryBean.getOutInterceptors().add(new SamlHeaderOutInterceptor()); } cachedClientFactory = factoryBean; } return cachedClientFactory; }
private WebClient createClient(String address, String username, String password) { JAXRSClientFactoryBean bean = new JAXRSClientFactoryBean(); bean.setAddress(address); bean.setUsername(username); bean.setPassword(password); bean.getOutInterceptors().add(new LoggingOutInterceptor()); bean.getInInterceptors().add(new LoggingInInterceptor()); WebClient wc = bean.createWebClient(); WebClient.getConfig(wc).getHttpConduit().getClient().setReceiveTimeout(1000000L); return wc; }
/** * This method ... * * @param resourceClass * @return */ private <R> R getServiceProxy(Class<R> resourceClass) { JAXRSClientFactoryBean clientFactory; clientFactory = new JAXRSClientFactoryBean(); clientFactory.setBus(KSBServiceLocator.getCXFBus()); clientFactory.setResourceClass(resourceClass); clientFactory.setAddress(actualEndpointUrl.toString()); BindingFactoryManager bindingFactoryManager = KSBServiceLocator.getCXFBus().getExtension(BindingFactoryManager.class); JAXRSBindingFactory bindingFactory = new JAXRSBindingFactory(); bindingFactory.setBus(KSBServiceLocator.getCXFBus()); bindingFactoryManager.registerBindingFactory(JAXRSBindingFactory.JAXRS_BINDING_ID, bindingFactory); //Set logging interceptors if (LOG.isDebugEnabled()) { clientFactory.getOutInterceptors().add(new LoggingOutInterceptor()); } if (getCredentialsSource() != null) { clientFactory.getOutInterceptors().add(new CredentialsOutHandler(getCredentialsSource(), serviceConfiguration)); } if (LOG.isDebugEnabled()) { clientFactory.getInInterceptors().add(new LoggingInInterceptor()); } Object service = clientFactory.create(); return getServiceProxyWithFailureMode(resourceClass, service, serviceConfiguration); }
private WebClient createWebClientForExistingToken(String address, Interceptor<Message> outInterceptor, Object provider) { JAXRSClientFactoryBean bean = new JAXRSClientFactoryBean(); bean.setAddress(address); SpringBusFactory bf = new SpringBusFactory(); URL busFile = JAXRSSamlTest.class.getResource("client.xml"); Bus springBus = bf.createBus(busFile.toString()); bean.setBus(springBus); bean.getOutInterceptors().add(outInterceptor); bean.getOutInterceptors().add(new SamlRetrievalInterceptor()); if (provider != null) { bean.setProvider(provider); } return bean.createWebClient(); }
private WebClient createWebClient(String address, Map<String, Object> extraProperties) { JAXRSClientFactoryBean bean = new JAXRSClientFactoryBean(); bean.setAddress(address); SpringBusFactory bf = new SpringBusFactory(); URL busFile = JAXRSSamlAuthorizationTest.class.getResource("client.xml"); Bus springBus = bf.createBus(busFile.toString()); bean.setBus(springBus); Map<String, Object> properties = new HashMap<>(); properties.put(SecurityConstants.SAML_CALLBACK_HANDLER, "org.apache.cxf.systest.jaxrs.security.saml.SamlCallbackHandler"); if (extraProperties != null) { properties.putAll(extraProperties); } bean.setProperties(properties); bean.getOutInterceptors().add(new SamlEnvelopedOutInterceptor()); return bean.createWebClient(); } }
private WebClient createWebClient(String address, Interceptor<Message> outInterceptor, Object provider, CallbackHandler samlCallbackHandler) { JAXRSClientFactoryBean bean = new JAXRSClientFactoryBean(); bean.setAddress(address); SpringBusFactory bf = new SpringBusFactory(); URL busFile = JAXRSSamlTest.class.getResource("client.xml"); Bus springBus = bf.createBus(busFile.toString()); bean.setBus(springBus); Map<String, Object> properties = new HashMap<>(); properties.put(SecurityConstants.CALLBACK_HANDLER, "org.apache.cxf.systest.jaxrs.security.saml.KeystorePasswordCallback"); properties.put(SecurityConstants.SAML_CALLBACK_HANDLER, samlCallbackHandler); properties.put(SecurityConstants.SIGNATURE_USERNAME, "alice"); properties.put(SecurityConstants.SIGNATURE_PROPERTIES, "org/apache/cxf/systest/jaxrs/security/alice.properties"); bean.setProperties(properties); bean.getOutInterceptors().add(outInterceptor); if (provider != null) { bean.setProvider(provider); } return bean.createWebClient(); }
XmlSecOutInterceptor sigInterceptor = new XmlSecOutInterceptor(); sigInterceptor.setSignRequest(true); bean.getOutInterceptors().add(sigInterceptor); } else { XmlSigOutInterceptor sigInterceptor = new XmlSigOutInterceptor(); sigInterceptor.setStyle(XmlSigOutInterceptor.ENVELOPING_SIG); bean.getOutInterceptors().add(sigInterceptor);
private WebClient createWebClientWithProps(String address) { JAXRSClientFactoryBean bean = new JAXRSClientFactoryBean(); bean.setAddress(address); SpringBusFactory bf = new SpringBusFactory(); URL busFile = JAXRSOAuth2Test.class.getResource("client.xml"); Bus springBus = bf.createBus(busFile.toString()); bean.setBus(springBus); Map<String, Object> properties = new HashMap<>(); properties.put(SecurityConstants.CALLBACK_HANDLER, "org.apache.cxf.systest.jaxrs.security.saml.KeystorePasswordCallback"); SamlCallbackHandler samlCallbackHandler = new SamlCallbackHandler(true); samlCallbackHandler.setIssuer("alice"); String audienceURI = "https://localhost:" + port + "/oauth2-auth/token"; samlCallbackHandler.setAudience(audienceURI); properties.put(SecurityConstants.SAML_CALLBACK_HANDLER, samlCallbackHandler); properties.put(SecurityConstants.SIGNATURE_USERNAME, "alice"); properties.put(SecurityConstants.SIGNATURE_PROPERTIES, CRYPTO_RESOURCE_PROPERTIES); bean.setProperties(properties); bean.getOutInterceptors().add(new Saml2BearerAuthOutInterceptor()); WebClient wc = bean.createWebClient(); wc.type(MediaType.APPLICATION_FORM_URLENCODED).accept(MediaType.APPLICATION_JSON); return wc; }
@Test public void testOldConfiguration() throws Exception { String address = "https://localhost:" + test.port + "/xmlsig"; JAXRSClientFactoryBean bean = new JAXRSClientFactoryBean(); bean.setAddress(address); SpringBusFactory bf = new SpringBusFactory(); URL busFile = JAXRSXmlSecTest.class.getResource("client.xml"); Bus springBus = bf.createBus(busFile.toString()); bean.setBus(springBus); Map<String, Object> newProperties = new HashMap<>(); newProperties.put(SecurityConstants.CALLBACK_HANDLER, "org.apache.cxf.systest.jaxrs.security.saml.KeystorePasswordCallback"); newProperties.put(SecurityConstants.SIGNATURE_USERNAME, "alice"); String cryptoUrl = "org/apache/cxf/systest/jaxrs/security/alice.properties"; newProperties.put(SecurityConstants.SIGNATURE_PROPERTIES, cryptoUrl); bean.setProperties(newProperties); if (test.streaming) { XmlSecOutInterceptor sigInterceptor = new XmlSecOutInterceptor(); sigInterceptor.setSignRequest(true); bean.getOutInterceptors().add(sigInterceptor); } else { XmlSigOutInterceptor sigInterceptor = new XmlSigOutInterceptor(); bean.getOutInterceptors().add(sigInterceptor); } bean.setServiceClass(BookStore.class); BookStore store = bean.create(BookStore.class); Book book = store.addBook(new Book("CXF", 126L)); assertEquals(126L, book.getId()); }
bean.getOutInterceptors().add(sigInterceptor); bean.getInInterceptors().add(new XmlEncInInterceptor()); bean.getInInterceptors().add(new XmlSigInInterceptor());
encInterceptor.setKeyIdentifierType(RSSecurityUtils.X509_CERT); encInterceptor.setSymmetricEncAlgorithm(XMLCipher.AES_128); bean.getOutInterceptors().add(encInterceptor); bean.getInInterceptors().add(new XmlEncInInterceptor()); bean.getInInterceptors().add(new XmlSigInInterceptor());
client.getConfiguration().getOutInterceptors().addAll(getOutInterceptors()); client.getConfiguration().getOutInterceptors().addAll(ep.getOutInterceptors()); client.getConfiguration().getInInterceptors().addAll(getInInterceptors());
XmlSecOutInterceptor sigOutInterceptor = new XmlSecOutInterceptor(); sigOutInterceptor.setSignRequest(true); bean.getOutInterceptors().add(sigOutInterceptor); } else { XmlSigOutInterceptor sigOutInterceptor = new XmlSigOutInterceptor(); bean.getOutInterceptors().add(sigOutInterceptor);
XmlSecOutInterceptor sigOutInterceptor = new XmlSecOutInterceptor(); sigOutInterceptor.setSignRequest(true); bean.getOutInterceptors().add(sigOutInterceptor); } else { XmlSigOutInterceptor sigOutInterceptor = new XmlSigOutInterceptor(); bean.getOutInterceptors().add(sigOutInterceptor);
@Test public void testPostGetBookFastinfoset() throws Exception { JAXRSClientFactoryBean bean = new JAXRSClientFactoryBean(); bean.setAddress("http://localhost:" + PORT + "/test/services/rest3/bookstore/fastinfoset"); bean.getOutInterceptors().add(new FIStaxOutInterceptor()); bean.getInInterceptors().add(new FIStaxInInterceptor()); JAXBElementProvider<?> p = new JAXBElementProvider<>(); p.setConsumeMediaTypes(Collections.singletonList("application/fastinfoset")); p.setProduceMediaTypes(Collections.singletonList("application/fastinfoset")); bean.setProvider(p); Map<String, Object> props = new HashMap<>(); props.put(FIStaxOutInterceptor.FI_ENABLED, Boolean.TRUE); bean.setProperties(props); WebClient client = bean.createWebClient(); Book b = new Book("CXF", 1L); Book b2 = client.type("application/fastinfoset").accept("application/fastinfoset") .post(b, Book.class); assertEquals(b2.getName(), b.getName()); assertEquals(b2.getId(), b.getId()); }
sigOutInterceptor.setSignatureProperties(sigProps); bean.getOutInterceptors().add(sigOutInterceptor);