The OpenID identity verification process most commonly uses the following steps, as visible to the user of this library:
1. The user enters their OpenID into a field on the consumer's site, and hits a login button.
2. The consumer site discovers the user's OpenID server using the YADIS protocol.
3. The consumer site sends the browser a redirect to the identity server. This is the authentication request as described in the OpenID specification.
4. The identity server's site sends the browser a redirect back to the consumer site. This redirect contains the server's response to the authentication request.
The most important part of the flow to note is the consumer's site must handle two separate HTTP requests in order to perform the full identity check.
This consumer library is designed with that flow in mind. The goal is to make it as easy as possible to perform the above steps securely.
At a high level, there are two important parts in the consumer library. The first important part is this module, which contains the interface to actually use this library. The second is the Net::OpenID::JanRain::Stores module, which describes the interface to use if you need to create a custom method for storing the state this library needs to maintain between requests.
In general, the second part is less important for users of the library to know about, as several implementations are provided which cover a wide variety of situations in which consumers may use the library.
This module contains a class, Net::OpenID::JanRain::Consumer, with methods corresponding to the actions necessary in each of steps 2, 3, and 4 described in the overview. Use of this library should be as easy as creating a Consumer instance and calling the methods appropriate for the action the site wants to take.