diff --git a/docs/manual/src/docbook/namespace-config.xml b/docs/manual/src/docbook/namespace-config.xml index 21ded8dc85..c9681d4059 100644 --- a/docs/manual/src/docbook/namespace-config.xml +++ b/docs/manual/src/docbook/namespace-config.xml @@ -496,18 +496,18 @@
- OpenID Login + OpenID Support The namespace supports OpenID login either instead of, or in addition to normal form-based login, with a simple change: - ]]> You should then register yourself with an OpenID provider (such as +]]>You should then register yourself with an OpenID provider (such as myopenid.com), and add the user information to your in-memory <user-service> : - ]]> You should be able to login using the myopenid.com site to +]]> You should be able to login using the myopenid.com site to authenticate. It is also possible to select a specific UserDetailsService bean for use OpenID by setting the user-service-ref attribute on the openid-login @@ -517,6 +517,32 @@ the authorities for the user. A random password will be generate internally, preventing you from accidentally using this user data as an authentication source elsewhere in your configuration. +
+ Attribute Exchange + Support for OpenID attribute + exchange. As an example, the following configuration would attempt to retrieve + the email and full name from the OpenID provider, for use by the application: + + + + + ]]>The type of each OpenID attribute is a URI, + determined by a particular schema, in this case http://axschema.org/. If an attribute must be retrieved for successful + authentication, the required attribute can be set. The exact schema and + attributes supported will depend on your OpenID provider. The attribute values are + returned as part of the authentication process and can be accessed afterwards using the + following + code:OpenIDAuthenticationToken token = SecurityContextHolder.getContext().getAuthentication(); +List<OpenIDAttribute> attributes = token.getAttributes();The + OpenIDAttribute contains the attribute type and the retrieved + value (or values in the case of multi-valued attributes). We'll see more about how the + SecurityContextHolder class is used when we look at core Spring + Security components in the technical overview + chapter. +
Adding in Your Own Filters