Class Auth_OpenID_Consumer
An OpenID consumer implementation that performs discovery and does
session management. See the Consumer.php file documentation for
more information.
Methods summary
public
|
#
Auth_OpenID_Consumer( Auth_OpenID_OpenIDStore $store, mixed $session = null, str $consumer_cls = null )
Initialize a Consumer instance.
Initialize a Consumer instance.
You should create a new instance of the Consumer object with
every HTTP request that handles OpenID transactions.
Parameters
- $store
This must be an object
that implements the interface in Auth_OpenID_OpenIDStore . Several concrete implementations are
provided, to cover most common use cases. For stores backed by
MySQL, PostgreSQL, or SQLite, see the Auth_OpenID_SQLStore class and its sublcasses. For a
filesystem-backed store, see the Auth_OpenID_FileStore
module. As a last resort, if it isn't possible for the server
to store state at all, an instance of Auth_OpenID_DumbStore can be used.
- $session
An object which implements the interface
of the Auth_Yadis_PHPSession class. Particularly, this
object is expected to have these methods: get($key), set($key),
$value), and del($key). This defaults to a session object
which wraps PHP's native session machinery. You should only
need to pass something here if you have your own sessioning
implementation.
- $consumer_cls
The name of the class to instantiate
when creating the internal consumer object. This is used for
testing.
|
public
|
#
getDiscoveryObject( $session, $openid_url, $session_key_prefix )
Used in testing to define the discovery mechanism.
Used in testing to define the discovery mechanism.
|
public
Auth_OpenID_AuthRequest
|
#
begin( string $user_url, boolean $anonymous = false )
Start the OpenID authentication process. See steps 1-2 in the
overview at the top of this file.
Start the OpenID authentication process. See steps 1-2 in the
overview at the top of this file.
Parameters
- $user_url
Identity URL given by the user. This
method performs a textual transformation of the URL to try and
make sure it is normalized. For example, a user_url of
example.com will be normalized to http://example.com/
normalizing and resolving any redirects the server might issue.
- $anonymous
True if the OpenID request is to be sent
to the server without any identifier information. Use this
when you want to transport data but don't want to do OpenID
authentication with identifiers.
Returns
Auth_OpenID_AuthRequest $auth_request An object
containing the discovered information will be returned, with a
method for building a redirect URL to the server, as described
in step 3 of the overview. This object may also be used to add
extension arguments to the request, using its 'addExtensionArg'
method.
|
public
Auth_OpenID_AuthRequest
|
#
beginWithoutDiscovery( Auth_OpenID_ServiceEndpoint $endpoint, boolean $anonymous = false )
Start OpenID verification without doing OpenID server
discovery. This method is used internally by Consumer.begin
after discovery is performed, and exists to provide an
interface for library users needing to perform their own
discovery.
Start OpenID verification without doing OpenID server
discovery. This method is used internally by Consumer.begin
after discovery is performed, and exists to provide an
interface for library users needing to perform their own
discovery.
Parameters
- $endpoint
an OpenID service
endpoint descriptor.
- $anonymous
Set to true if you want to perform OpenID
without identifiers.
Returns
|
public
Auth_OpenID_ConsumerResponse
|
#
complete( string $current_url, array $query = null )
Called to interpret the server's response to an OpenID
request. It is called in step 4 of the flow described in the
consumer overview.
Called to interpret the server's response to an OpenID
request. It is called in step 4 of the flow described in the
consumer overview.
Parameters
- $current_url
The URL used to invoke the application.
Extract the URL from your application's web
request framework and specify it here to have it checked
against the openid.current_url value in the response. If
the current_url URL check fails, the status of the
completion will be FAILURE.
- $query
An array of the query parameters (key =>
value pairs) for this HTTP request. Defaults to null. If
null, the GET or POST data are automatically gotten from the
PHP environment. It is only useful to override $query for
testing.
Returns
Auth_OpenID_ConsumerResponse $response A instance of an
Auth_OpenID_ConsumerResponse subclass. The type of response is
indicated by the status attribute, which will be one of
SUCCESS, CANCEL, FAILURE, or SETUP_NEEDED.
|