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>