What is this package?
This library allows you to OpenID-enable your Java webapp.
The following specifications are supported:
What is OpenID?
OpenID starts with the concept that anyone can identify themselves on the
Internet the same way websites do - with a URI. Since URIs are at the very
core of Web architecture, they provide a solid foundation for user-centric
identity.
The first piece of the OpenID framework is authentication -- how you prove
ownership of a URI. Today, websites require usernames and passwords to
login, which means that many people use the same password everywhere. With
OpenID Authentication, your username is your URI, and your password (or
other credentials) stays safely stored on your OpenID Provider (which you
can run yourself, or use a third-party identity provider).
For more information about the OpenID protocol please refer to the
specification at: http://openid.net/specs.bml
Quick Start
To OpenID-enable a website - a Relying Party (RP) in OpenID terms, or Consumer at code-level, you need to do the following:
Install the libraries
Instead (or as an alternative to) prompting the user for their username/password, obtain their OpenID (URL) identifier
Create an authentication request for this identifier, and redirect the user to their OpenID Provider (with this request)
Receive the OpenID Provider's authentication response at your webapp's ReturnURL, and verify it
Have a look at the QuickStart page for a code-level walk-through the above, and at the SampleConsumer class for the full code.
The bulk of the action amounts to about a dozen lines of code.
Simple-OpenID
A working example of a simple (6 JSP files) OpenID Provider and Relying Party can be found under samples/simple-openid/.
Start it with:
mvn jetty:run
For more details see the README.txt file included in that folder.
See also
BuildFromSource
SampleConsumer
SampleServer
Package contents
CHANGELOG
Version highlight changes.
INSTALL
Installation and usage instructions.
LICENSE
OpenID4Java Library license (Apache 2.0).
MAINTAINERS
List of code and documentation maintainers.
README.md
This file!
TODO
Tasks remaining and/or ongoing.
VERSION
The released version of this package.
apidoc/
JavaDoc API documentation.
samples/
Sample implementation projects. See samples/README for details.
src/
Source code.
test/
Test cases source code and test data.
lib/
Library dependencies.
build.xml
Ant build file; see INSTALL / Building the package.
project.properties
Build properties file.
pom.xml
Maven POM.