Repository: cxf
Updated Branches:
  refs/heads/master dc47b8e0d -> 7298cc60e


Testing the standard token introspection path


Project: http://git-wip-us.apache.org/repos/asf/cxf/repo
Commit: http://git-wip-us.apache.org/repos/asf/cxf/commit/7298cc60
Tree: http://git-wip-us.apache.org/repos/asf/cxf/tree/7298cc60
Diff: http://git-wip-us.apache.org/repos/asf/cxf/diff/7298cc60

Branch: refs/heads/master
Commit: 7298cc60e9b217dcda22fadd43058002dea4852d
Parents: dc47b8e
Author: Sergey Beryozkin <[email protected]>
Authored: Tue Apr 25 17:47:48 2017 +0100
Committer: Sergey Beryozkin <[email protected]>
Committed: Tue Apr 25 17:47:48 2017 +0100

----------------------------------------------------------------------
 .../oauth2/provider/OAuthJSONProvider.java      |  2 +-
 .../security/oauth2/tls/JAXRSOAuth2TlsTest.java | 10 ++++--
 .../jaxrs/security/oauth2/tls/serverTls.xml     | 36 ++++++++++++++++++--
 3 files changed, 43 insertions(+), 5 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/cxf/blob/7298cc60/rt/rs/security/oauth-parent/oauth2/src/main/java/org/apache/cxf/rs/security/oauth2/provider/OAuthJSONProvider.java
----------------------------------------------------------------------
diff --git 
a/rt/rs/security/oauth-parent/oauth2/src/main/java/org/apache/cxf/rs/security/oauth2/provider/OAuthJSONProvider.java
 
b/rt/rs/security/oauth-parent/oauth2/src/main/java/org/apache/cxf/rs/security/oauth2/provider/OAuthJSONProvider.java
index ce083c1..486bda3 100644
--- 
a/rt/rs/security/oauth-parent/oauth2/src/main/java/org/apache/cxf/rs/security/oauth2/provider/OAuthJSONProvider.java
+++ 
b/rt/rs/security/oauth-parent/oauth2/src/main/java/org/apache/cxf/rs/security/oauth2/provider/OAuthJSONProvider.java
@@ -131,7 +131,7 @@ public class OAuthJSONProvider implements 
MessageBodyWriter<Object>,
                     if 
(JoseConstants.HEADER_X509_THUMBPRINT_SHA256.equals(entry.getKey())) {
                         StringBuilder cnfObj = new StringBuilder();
                         cnfObj.append("{");
-                        appendJsonPair(sb, entry.getKey(), entry.getValue());
+                        appendJsonPair(cnfObj, entry.getKey(), 
entry.getValue());
                         cnfObj.append("}");
                         appendJsonPair(sb, "cnf", cnfObj.toString(), false);
                     } else {

http://git-wip-us.apache.org/repos/asf/cxf/blob/7298cc60/systests/rs-security/src/test/java/org/apache/cxf/systest/jaxrs/security/oauth2/tls/JAXRSOAuth2TlsTest.java
----------------------------------------------------------------------
diff --git 
a/systests/rs-security/src/test/java/org/apache/cxf/systest/jaxrs/security/oauth2/tls/JAXRSOAuth2TlsTest.java
 
b/systests/rs-security/src/test/java/org/apache/cxf/systest/jaxrs/security/oauth2/tls/JAXRSOAuth2TlsTest.java
index 50bfea3..0820364 100644
--- 
a/systests/rs-security/src/test/java/org/apache/cxf/systest/jaxrs/security/oauth2/tls/JAXRSOAuth2TlsTest.java
+++ 
b/systests/rs-security/src/test/java/org/apache/cxf/systest/jaxrs/security/oauth2/tls/JAXRSOAuth2TlsTest.java
@@ -64,6 +64,10 @@ public class JAXRSOAuth2TlsTest extends 
AbstractBusClientServerTestBase {
         Book book = wcRs.get(Book.class);
         assertEquals(123L, book.getId());
         
+        String protectedRsAddress2 = "https://localhost:"; + PORT + 
"/rs2/bookstore/books/123";
+        WebClient wcRs2 = createRsWebClient(protectedRsAddress2, at, 
"client.xml");
+        book = wcRs2.get(Book.class);
+        assertEquals(123L, book.getId());
         
         String unprotectedRsAddress = "https://localhost:"; + PORT + 
"/rsUnprotected/bookstore/books/123";
         WebClient wcRsDiffClientCert = createRsWebClient(unprotectedRsAddress, 
at, "client2.xml");
@@ -71,10 +75,12 @@ public class JAXRSOAuth2TlsTest extends 
AbstractBusClientServerTestBase {
         book = wcRsDiffClientCert.get(Book.class);
         assertEquals(123L, book.getId());
         
-        // Protected resource, access token was created with Morphit key, RS 
is accessed with
-        // Bethal.key, thus 401 is expected
+        // Protected resource, access token was created with Morphit.jks key, 
RS is accessed with
+        // Bethal.jks key, thus 401 is expected
         wcRsDiffClientCert = createRsWebClient(protectedRsAddress, at, 
"client2.xml");
         assertEquals(401, wcRsDiffClientCert.get().getStatus());
+        wcRsDiffClientCert = createRsWebClient(protectedRsAddress2, at, 
"client2.xml");
+        assertEquals(401, wcRsDiffClientCert.get().getStatus());
     }
     
     @Test

http://git-wip-us.apache.org/repos/asf/cxf/blob/7298cc60/systests/rs-security/src/test/resources/org/apache/cxf/systest/jaxrs/security/oauth2/tls/serverTls.xml
----------------------------------------------------------------------
diff --git 
a/systests/rs-security/src/test/resources/org/apache/cxf/systest/jaxrs/security/oauth2/tls/serverTls.xml
 
b/systests/rs-security/src/test/resources/org/apache/cxf/systest/jaxrs/security/oauth2/tls/serverTls.xml
index 40ade66..a0db728 100644
--- 
a/systests/rs-security/src/test/resources/org/apache/cxf/systest/jaxrs/security/oauth2/tls/serverTls.xml
+++ 
b/systests/rs-security/src/test/resources/org/apache/cxf/systest/jaxrs/security/oauth2/tls/serverTls.xml
@@ -81,11 +81,16 @@ under the License.
        <property name="dataProvider" ref="dataProvider"/>
        <property name="blockUnauthorizedRequests" value="false"/>
     </bean>
+    <bean id="tokenIntrospectionService1" 
class="org.apache.cxf.rs.security.oauth2.services.TokenIntrospectionService">
+       <property name="dataProvider" ref="dataProvider"/>
+       <property name="blockUnauthorizedRequests" value="false"/>
+    </bean>
     
     <jaxrs:server id="tokenServer1" 
address="https://localhost:${testutil.ports.jaxrs-oauth2-tls}/oauth2";>
         <jaxrs:serviceBeans>
             <ref bean="accessTokenService1"/>
             <ref bean="tokenValidatorService1"/>
+            <ref bean="tokenIntrospectionService1"/>
         </jaxrs:serviceBeans>
     </jaxrs:server>
     
@@ -98,13 +103,32 @@ under the License.
          </jaxrs-client:headers>
     </jaxrs-client:client>
     
-   <bean id="tokenValidator1" 
class="org.apache.cxf.rs.security.oauth2.filters.AccessTokenValidatorClient">
+    <bean id="tokenValidator1" 
class="org.apache.cxf.rs.security.oauth2.filters.AccessTokenValidatorClient">
        <property name="tokenValidatorClient" ref="tokenValidatorClient1"/>
-   </bean>
+    </bean>
     
     <bean id="oauth2Filter1" 
class="org.apache.cxf.rs.security.oauth2.filters.OAuthRequestFilter">
         <property name="tokenValidator" ref="tokenValidator1"/>
     </bean>
+    
+    <jaxrs-client:client id="tokenValidatorClient2" 
+        
address="https://localhost:${testutil.ports.jaxrs-oauth2-tls}/oauth2/introspect";
 
+        serviceClass="org.apache.cxf.jaxrs.client.WebClient">
+        <jaxrs-client:headers>
+            <entry key="Accept" value="application/json"/>
+            <entry key="Content-Type" 
value="application/x-www-form-urlencoded"/>
+         </jaxrs-client:headers>
+    </jaxrs-client:client>
+    
+    <bean id="tokenValidator2" 
class="org.apache.cxf.rs.security.oauth2.filters.AccessTokenIntrospectionClient">
+       <property name="tokenValidatorClient" ref="tokenValidatorClient2"/>
+    </bean>
+    
+    <bean id="oauth2Filter2" 
class="org.apache.cxf.rs.security.oauth2.filters.OAuthRequestFilter">
+        <property name="tokenValidator" ref="tokenValidator2"/>
+    </bean>
+    
+    
     <jaxrs:server id="rsServer1" 
address="https://localhost:${testutil.ports.jaxrs-oauth2-tls}/rs";>
         <jaxrs:serviceBeans>
             <ref bean="rsService"/>
@@ -113,6 +137,14 @@ under the License.
             <ref bean="oauth2Filter1"/>
         </jaxrs:providers>
     </jaxrs:server>
+    <jaxrs:server id="rsServer2" 
address="https://localhost:${testutil.ports.jaxrs-oauth2-tls}/rs2";>
+        <jaxrs:serviceBeans>
+            <ref bean="rsService"/>
+        </jaxrs:serviceBeans>
+        <jaxrs:providers>
+            <ref bean="oauth2Filter2"/>
+        </jaxrs:providers>
+    </jaxrs:server>
     <jaxrs:server id="rsServerUnprotected" 
address="https://localhost:${testutil.ports.jaxrs-oauth2-tls}/rsUnprotected";>
         <jaxrs:serviceBeans>
             <ref bean="rsService"/>

Reply via email to