cxf-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From build...@apache.org
Subject svn commit: r836130 - in /websites/production/cxf/content: cache/docs.pageCache docs/jax-rs-oauth2.html docs/jaxrs-services-description.html
Date Thu, 25 Oct 2012 11:47:36 GMT
Author: buildbot
Date: Thu Oct 25 11:47:35 2012
New Revision: 836130

Log:
Production update by buildbot for cxf

Modified:
    websites/production/cxf/content/cache/docs.pageCache
    websites/production/cxf/content/docs/jax-rs-oauth2.html
    websites/production/cxf/content/docs/jaxrs-services-description.html

Modified: websites/production/cxf/content/cache/docs.pageCache
==============================================================================
Binary files - no diff available.

Modified: websites/production/cxf/content/docs/jax-rs-oauth2.html
==============================================================================
--- websites/production/cxf/content/docs/jax-rs-oauth2.html (original)
+++ websites/production/cxf/content/docs/jax-rs-oauth2.html Thu Oct 25 11:47:35 2012
@@ -125,7 +125,7 @@ Apache CXF -- JAX-RS OAuth2
 
 
 <div>
-<ul><li><a shape="rect" href="#JAX-RSOAuth2-Introduction">Introduction</a></li><li><a
shape="rect" href="#JAX-RSOAuth2-Mavendependencies">Maven dependencies</a></li><li><a
shape="rect" href="#JAX-RSOAuth2-DevelopingOAuth2Servers">Developing OAuth2 Servers</a></li><ul><li><a
shape="rect" href="#JAX-RSOAuth2-AuthorizationService">Authorization Service</a></li><li><a
shape="rect" href="#JAX-RSOAuth2-AccessTokenService">AccessTokenService</a></li><ul><li><a
shape="rect" href="#JAX-RSOAuth2-AccessTokenTypes">Access Token Types</a></li><ul><li><a
shape="rect" href="#JAX-RSOAuth2-Bearer">Bearer</a></li><li><a shape="rect"
href="#JAX-RSOAuth2-MAC">MAC</a></li></ul><li><a shape="rect"
href="#JAX-RSOAuth2-AccessTokenValidationService">AccessTokenValidationService</a></li></ul><li><a
shape="rect" href="#JAX-RSOAuth2-WritingOAuthDataProvider">Writing OAuthDataProvider</a></li><li><a
shape="rect" href="#JAX-RSOAuth2-OAuthServerJAXRSendpoints">OAuth Server JAX-RS endpoints</a></li></ul><l
 i><a shape="rect" href="#JAX-RSOAuth2-ProtectingresourceswithOAuthfilters">Protecting
resources with OAuth filters</a></li><li><a shape="rect" href="#JAX-RSOAuth2-Howtogettheuserloginname">How
to get the user login name</a></li><li><a shape="rect" href="#JAX-RSOAuth2-Clientsidesupport">Client-side
support</a></li><li><a shape="rect" href="#JAX-RSOAuth2-OAuth2withouttheExplicitAuthorization">OAuth2
without the Explicit Authorization</a></li><li><a shape="rect" href="#JAX-RSOAuth2-OAuthWithoutaBrowser">OAuth
Without a Browser</a></li><li><a shape="rect" href="#JAX-RSOAuth2-Reportingerrordetails">Reporting
error details</a></li><li><a shape="rect" href="#JAX-RSOAuth2-Designconsiderations">Design
considerations</a></li><ul><li><a shape="rect" href="#JAX-RSOAuth2-ControllingtheAccesstoResourceServer">Controlling
the Access to Resource Server</a></li><ul><li><a shape="rect" href="#JAX-RSOAuth2-Sharingthesameaccesspathbetweenendusersandclients">Sharing
the same access path between 
 end users and clients</a></li><li><a shape="rect" href="#JAX-RSOAuth2-Providingdifferentaccesspointstoendusersandclients">Providing
different access points to end users and clients</a></li></ul><li><a
shape="rect" href="#JAX-RSOAuth2-SingleSignOn">Single Sign On</a></li></ul><li><a
shape="rect" href="#JAX-RSOAuth2-WhatIsNext">What Is Next</a></li></ul></div>
+<ul><li><a shape="rect" href="#JAX-RSOAuth2-Introduction">Introduction</a></li><li><a
shape="rect" href="#JAX-RSOAuth2-Mavendependencies">Maven dependencies</a></li><li><a
shape="rect" href="#JAX-RSOAuth2-DevelopingOAuth2Servers">Developing OAuth2 Servers</a></li><ul><li><a
shape="rect" href="#JAX-RSOAuth2-AuthorizationService">Authorization Service</a></li><li><a
shape="rect" href="#JAX-RSOAuth2-AccessTokenService">AccessTokenService</a></li><ul><li><a
shape="rect" href="#JAX-RSOAuth2-AccessTokenTypes">Access Token Types</a></li><ul><li><a
shape="rect" href="#JAX-RSOAuth2-Bearer">Bearer</a></li><li><a shape="rect"
href="#JAX-RSOAuth2-MAC">MAC</a></li></ul><li><a shape="rect"
href="#JAX-RSOAuth2-AccessTokenValidationService">AccessTokenValidationService</a></li></ul><li><a
shape="rect" href="#JAX-RSOAuth2-WritingOAuthDataProvider">Writing OAuthDataProvider</a></li><li><a
shape="rect" href="#JAX-RSOAuth2-OAuthServerJAXRSendpoints">OAuth Server JAX-RS endpoints</a></li></ul><l
 i><a shape="rect" href="#JAX-RSOAuth2-UserSessionAuthenticity">User Session Authenticity</a></li><li><a
shape="rect" href="#JAX-RSOAuth2-ProtectingresourceswithOAuthfilters">Protecting resources
with OAuth filters</a></li><li><a shape="rect" href="#JAX-RSOAuth2-Howtogettheuserloginname">How
to get the user login name</a></li><li><a shape="rect" href="#JAX-RSOAuth2-Clientsidesupport">Client-side
support</a></li><li><a shape="rect" href="#JAX-RSOAuth2-OAuth2withouttheExplicitAuthorization">OAuth2
without the Explicit Authorization</a></li><li><a shape="rect" href="#JAX-RSOAuth2-OAuthWithoutaBrowser">OAuth
Without a Browser</a></li><li><a shape="rect" href="#JAX-RSOAuth2-Reportingerrordetails">Reporting
error details</a></li><li><a shape="rect" href="#JAX-RSOAuth2-Designconsiderations">Design
considerations</a></li><ul><li><a shape="rect" href="#JAX-RSOAuth2-ControllingtheAccesstoResourceServer">Controlling
the Access to Resource Server</a></li><ul><li><a shape="rect" href="#JA
 X-RSOAuth2-Sharingthesameaccesspathbetweenendusersandclients">Sharing the same access
path between end users and clients</a></li><li><a shape="rect" href="#JAX-RSOAuth2-Providingdifferentaccesspointstoendusersandclients">Providing
different access points to end users and clients</a></li></ul><li><a
shape="rect" href="#JAX-RSOAuth2-SingleSignOn">Single Sign On</a></li></ul><li><a
shape="rect" href="#JAX-RSOAuth2-WhatIsNext">What Is Next</a></li></ul></div>
 
 <h1><a shape="rect" name="JAX-RSOAuth2-Introduction"></a>Introduction</h1>
 
@@ -596,6 +596,11 @@ Most likely, you'd want to deploy Access
 
 <p>AuthorizationCodeGrantService listens on a relative "/authorize" path so in this
case its absolute address will be something like "http://localhost:8080/services/myapp/authorize".
This address and that of AccessTokenService will be used by third-party clients.</p>
 
+<h1><a shape="rect" name="JAX-RSOAuth2-UserSessionAuthenticity"></a>User
Session Authenticity</h1>
+
+<p>Redirection-based Authorization Code and Implicit flows depend on end users signing
in if needed during the initial redirection, challenged with the client authorization form
and returning their decision. By default, CXF will enforce the user session authenticity by
keeping the session state in a servlet container's HTTPSession. If the alternative storage
is preferred then you can register a new <a shape="rect" class="external-link" href="http://svn.apache.org/repos/asf/cxf/trunk/rt/rs/security/oauth-parent/oauth2/src/main/java/org/apache/cxf/rs/security/oauth2/provider/SessionAuthenticityTokenProvider.java">SessionAuthenticityTokenProvider</a>
(available from CXF 2.6.4) with either AuthorizationCodeGrantService or ImplicitGrantService
beans.</p>
+
+
 <h1><a shape="rect" name="JAX-RSOAuth2-ProtectingresourceswithOAuthfilters"></a>Protecting
resources with OAuth filters</h1>
 
 <p><a shape="rect" class="external-link" href="http://svn.apache.org/repos/asf/cxf/trunk/rt/rs/security/oauth-parent/oauth2/src/main/java/org/apache/cxf/rs/security/oauth2/filters/OAuthRequestFilter.java">OAuthRequestFilter</a>
request handler can be used to protect the resource server when processing the requests from
the third-party clients. Add it as a jaxrs:provider to the endpoint which deals with the clients
requesting the resources.</p>
@@ -699,6 +704,8 @@ how one can access a user login name tha
 
 <div class="code panel" style="border-width: 1px;"><div class="codeContent panelContent">
 <pre class="code-java"> 
+<span class="code-keyword">import</span> org.apache.cxf.rs.security.oauth2.utils.OAuthContextUtils;
+
 @Path(<span class="code-quote">"/userResource"</span>)
 <span class="code-keyword">public</span> class ThirdPartyAccessService {
 
@@ -707,15 +714,13 @@ how one can access a user login name tha
 	
     @GET
     <span class="code-keyword">public</span> UserResource getUserResource() {
-        OAuthContext oauth = mc.getContent(OAuthContext.class);
-        <span class="code-keyword">if</span> (oauth == <span class="code-keyword">null</span>
|| oauth.getSubject() == <span class="code-keyword">null</span> || oauth.getSubject().getLogin()
== <span class="code-keyword">null</span>) {
-	   <span class="code-keyword">throw</span> <span class="code-keyword">new</span>
WebApplicationException(403);
-	}
-	<span class="code-object">String</span> userName = oauth.getSubject().getLogin();
-	<span class="code-keyword">return</span> findUserResource(userName)
+        
+	<span class="code-object">String</span> endUserName = OAuthContextUtils.resolveUserName(mc);
+
+	<span class="code-keyword">return</span> findUserResource(endUserName)
     }
 
-    <span class="code-keyword">private</span> UserResource findUserResource(<span
class="code-object">String</span> userName) {
+    <span class="code-keyword">private</span> UserResource findUserResource(<span
class="code-object">String</span> endUserName) {
         <span class="code-comment">// find and <span class="code-keyword">return</span>
UserResource
 </span>    }
 }
@@ -725,7 +730,7 @@ how one can access a user login name tha
 
 <p>The above shows a fragment of the JAX-RS service managing the access to user resources
from authorized 3rd-party clients (see the Design Considerations section for more information).</p>
 
-<p>The injected MessageContext provides an access to <a shape="rect" class="external-link"
href="http://svn.apache.org/repos/asf/cxf/trunk/rt/rs/security/oauth-parent/oauth2/src/main/java/org/apache/cxf/rs/security/oauth2/common/OAuthContext.java">OAuthContext</a>
which has been set by OAuth2 filters described in the previous section. OAuthContext will
act as a container of the information which can be useful to the custom application code which
do not need to deal with the OAuth2 internals.</p>
+<p>The injected MessageContext provides an access to <a shape="rect" class="external-link"
href="http://svn.apache.org/repos/asf/cxf/trunk/rt/rs/security/oauth-parent/oauth2/src/main/java/org/apache/cxf/rs/security/oauth2/common/OAuthContext.java">OAuthContext</a>
which has been set by OAuth2 filters described in the previous section. OAuthContext will
act as a container of the information which can be useful to the custom application code which
do not need to deal with the OAuth2 internals. OAuthContextUtils provides a number of utility
methods for retrieving and working with OAuthContext.</p>
 
 <h1><a shape="rect" name="JAX-RSOAuth2-Clientsidesupport"></a>Client-side
support</h1>
 

Modified: websites/production/cxf/content/docs/jaxrs-services-description.html
==============================================================================
--- websites/production/cxf/content/docs/jaxrs-services-description.html (original)
+++ websites/production/cxf/content/docs/jaxrs-services-description.html Thu Oct 25 11:47:35
2012
@@ -329,17 +329,12 @@ RESTful Web applications. Please check t
 </pre>
 </div></div>  
 
-<p>Note 'tMap', 'repMap', 'noTypes' and 'inheritResourceParams' options are supported
starting from CXF 2.6.3.</p>
+<p>Note 'tMap', 'repMap', 'noTypes' and 'inheritResourceParams' options are supported
starting from CXF 2.6.3, 'noVoidForEmptyResponses' - from 2.6.4.</p>
 
 <p>The options are reviewed in the following table.</p>
 
 <div class="table-wrap">
-<table class="confluenceTable"><tbody><tr><th colspan="1" rowspan="1"
class="confluenceTh"> Option </th><th colspan="1" rowspan="1" class="confluenceTh">
Interpretation </th></tr><tr><td colspan="1" rowspan="1" class="confluenceTd">
<tt>-?</tt>,<tt>-h</tt>,<tt>-help</tt> </td><td
colspan="1" rowspan="1" class="confluenceTd"> Displays the online help for this utility
and exits. </td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd">
<tt>-p PackageName</tt> </td><td colspan="1" rowspan="1" class="confluenceTd">
Specifies the package name of root resource classes </td></tr><tr><td
colspan="1" rowspan="1" class="confluenceTd"> <tt>-sp [ schema-namespace= ] PackageName</tt>
</td><td colspan="1" rowspan="1" class="confluenceTd"> Specifies one or more package
names corresponding to individual schema namespaces </td></tr><tr><td
colspan="1" rowspan="1" class="confluenceTd"> <tt>-resource RootResourceName</tt>
</td><td colspan="1" rowspan="1" class="confluenceTd"> Specifies a
  full name of root resource class if WADL contains a single resource </td></tr><tr><td
colspan="1" rowspan="1" class="confluenceTd"> <tt>-interface</tt> </td><td
colspan="1" rowspan="1" class="confluenceTd"> Default option unless -impl option is used
- Java interfaces with JAX-RS annotations are generated </td></tr><tr><td
colspan="1" rowspan="1" class="confluenceTd"> <tt>-impl</tt> </td><td
colspan="1" rowspan="1" class="confluenceTd"> Generates starting implementation code. Can
also be used with -interface option </td></tr><tr><td colspan="1" rowspan="1"
class="confluenceTd"> <tt>-noTypes</tt> </td><td colspan="1" rowspan="1"
class="confluenceTd"> Requests that no schema generation is needed. Can also be used with
-tMap option </td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd">
<tt>-tMap schema-type=java-type</tt> </td><td colspan="1" rowspan="1"
class="confluenceTd"> Provides mapping between schema elements and java types </td></tr><tr><td
colspan="1" rowspan=
 "1" class="confluenceTd"> <tt>-repMap media-type=java-type</tt> </td><td
colspan="1" rowspan="1" class="confluenceTd"> Provides mapping between media types and
java types </td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd">
<tt>-b binding-name</tt> </td><td colspan="1" rowspan="1" class="confluenceTd">
Specifies JAXB binding files. Use multiple -b flags to specify multiple entries. </td></tr><tr><td
colspan="1" rowspan="1" class="confluenceTd"> <tt>-catalog catalog-file-name</tt>
</td><td colspan="1" rowspan="1" class="confluenceTd"> Specifies catalog file
to map referenced wadl/schemas </td></tr><tr><td colspan="1" rowspan="1"
class="confluenceTd"> <tt>-d output-directory</tt> </td><td colspan="1"
rowspan="1" class="confluenceTd"> Specifies the directory into which the generated code
files are written. </td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd">
<tt>-compile</tt> </td><td colspan="1" rowspan="1" class="confluenceTd">
Compiles generated Java fi
 les. </td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd">
<tt>-classdir compile-class-dir</tt> </td><td colspan="1" rowspan="1"
class="confluenceTd"> Specifies the directory into which the compiled class files are written.
</td></tr></tbody></table>
-</div>
-
-<p>inheritResourceParams</p>
-<div class="table-wrap">
-<table class="confluenceTable"><tbody><tr><td colspan="1" rowspan="1"
class="confluenceTd"> <tt>-inheritResourceParams</tt> </td><td colspan="1"
rowspan="1" class="confluenceTd"> Get current resource-level path or matrix parameters
added to generated methods for all descendant resources.</td></tr><tr><td
colspan="1" rowspan="1" class="confluenceTd"> <tt>-generateEnums</tt> </td><td
colspan="1" rowspan="1" class="confluenceTd"> Generates Java enums for parameters with
options. </td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd">
<tt>-supportMultipleXmlReps</tt> </td><td colspan="1" rowspan="1" class="confluenceTd">
Generates separate method for every XML representation in a single WADL request element. </td></tr><tr><td
colspan="1" rowspan="1" class="confluenceTd"> <em>wadlurl</em> </td><td
colspan="1" rowspan="1" class="confluenceTd"> The path and name of the WADL file to use
in generating the code. </td></tr></tbody></table>
+<table class="confluenceTable"><tbody><tr><th colspan="1" rowspan="1"
class="confluenceTh"> Option </th><th colspan="1" rowspan="1" class="confluenceTh">
Interpretation </th></tr><tr><td colspan="1" rowspan="1" class="confluenceTd">
<tt>-?</tt>,<tt>-h</tt>,<tt>-help</tt> </td><td
colspan="1" rowspan="1" class="confluenceTd"> Displays the online help for this utility
and exits. </td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd">
<tt>-p PackageName</tt> </td><td colspan="1" rowspan="1" class="confluenceTd">
Specifies the package name of root resource classes </td></tr><tr><td
colspan="1" rowspan="1" class="confluenceTd"> <tt>-sp [ schema-namespace= ] PackageName</tt>
</td><td colspan="1" rowspan="1" class="confluenceTd"> Specifies one or more package
names corresponding to individual schema namespaces </td></tr><tr><td
colspan="1" rowspan="1" class="confluenceTd"> <tt>-resource RootResourceName</tt>
</td><td colspan="1" rowspan="1" class="confluenceTd"> Specifies a
  full name of root resource class if WADL contains a single resource </td></tr><tr><td
colspan="1" rowspan="1" class="confluenceTd"> <tt>-interface</tt> </td><td
colspan="1" rowspan="1" class="confluenceTd"> Default option unless -impl option is used
- Java interfaces with JAX-RS annotations are generated </td></tr><tr><td
colspan="1" rowspan="1" class="confluenceTd"> <tt>-impl</tt> </td><td
colspan="1" rowspan="1" class="confluenceTd"> Generates starting implementation code. Can
also be used with -interface option </td></tr><tr><td colspan="1" rowspan="1"
class="confluenceTd"> <tt>-noTypes</tt> </td><td colspan="1" rowspan="1"
class="confluenceTd"> Requests that no schema generation is needed. Can also be used with
-tMap option </td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd">
<tt>-tMap schema-type=java-type</tt> </td><td colspan="1" rowspan="1"
class="confluenceTd"> Provides mapping between schema elements and java types </td></tr><tr><td
colspan="1" rowspan=
 "1" class="confluenceTd"> <tt>-repMap media-type=java-type</tt> </td><td
colspan="1" rowspan="1" class="confluenceTd"> Provides mapping between media types and
java types </td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd">
<tt>-b binding-name</tt> </td><td colspan="1" rowspan="1" class="confluenceTd">
Specifies JAXB binding files. Use multiple -b flags to specify multiple entries. </td></tr><tr><td
colspan="1" rowspan="1" class="confluenceTd"> <tt>-catalog catalog-file-name</tt>
</td><td colspan="1" rowspan="1" class="confluenceTd"> Specifies catalog file
to map referenced wadl/schemas </td></tr><tr><td colspan="1" rowspan="1"
class="confluenceTd"> <tt>-d output-directory</tt> </td><td colspan="1"
rowspan="1" class="confluenceTd"> Specifies the directory into which the generated code
files are written. </td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd">
<tt>-compile</tt> </td><td colspan="1" rowspan="1" class="confluenceTd">
Compiles generated Java fi
 les. </td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd">
<tt>-classdir compile-class-dir</tt> </td><td colspan="1" rowspan="1"
class="confluenceTd"> Specifies the directory into which the compiled class files are written.
</td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"> <tt>-noVoidForEmptyResponses</tt>
</td><td colspan="1" rowspan="1" class="confluenceTd"> Generate JAX-RS Response
instead of 'void' for methods with no response representations.</td></tr><tr><td
colspan="1" rowspan="1" class="confluenceTd"> <tt>-inheritResourceParams</tt>
</td><td colspan="1" rowspan="1" class="confluenceTd"> Get current resource-level
path or matrix parameters added to generated methods for all descendant resources.</td></tr><tr><td
colspan="1" rowspan="1" class="confluenceTd"> <tt>-generateEnums</tt> </td><td
colspan="1" rowspan="1" class="confluenceTd"> Generates Java enums for parameters with
options. </td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd
 "> <tt>-supportMultipleXmlReps</tt> </td><td colspan="1" rowspan="1"
class="confluenceTd"> Generates separate method for every XML representation in a single
WADL request element. </td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd">
<em>wadlurl</em> </td><td colspan="1" rowspan="1" class="confluenceTd">
The path and name of the WADL file to use in generating the code. </td></tr></tbody></table>
 </div>
 
 



Mime
View raw message