OpenId/Consumer.php
Zend Framework
LICENSE
This source file is subject to the new BSD license that is bundled with this package in the file LICENSE.txt. It is also available through the world-wide-web at this URL: http://framework.zend.com/license/new-bsd If you did not receive a copy of the license and are unable to obtain it through the world-wide-web, please send an email to [email protected] so we can send you a copy immediately.
- Category
- Zend
- Copyright
- Copyright (c) 2005-2012 Zend Technologies USA Inc. (http://www.zend.com)
- License
- New BSD License
- Package
- Zend_OpenId
- Subpackage
- Zend_OpenId_Consumer
- Version
- $Id: Consumer.php 24593 2012-01-05 20:35:02Z matthew $
\Zend_OpenId_Consumer
OpenID consumer implementation
- Category
- Zend
- Copyright
- Copyright (c) 2005-2012 Zend Technologies USA Inc. (http://www.zend.com)
- License
- New BSD License
Properties


array $_cache = array()
Internal cache to prevent unnecessary access to storage
array()
Details- Type
- array


\Zend_OpenId_Consumer_Storage $_dumbMode = false
Enables or disables consumer to use association with server based on Diffie-Hellman key agreement
false
Details


string $_error = ''
Last error message for logi, check or verify failure
''
Details- Type
- string


\Zend_Http_Client $_httpClient = null
HTTP client to make HTTP requests
null
Details- Type
- \Zend_Http_Client


\Zend_Session_Namespace $_session = null
HTTP session to store climed_id between requests
null
Details
Methods


__construct(\Zend_OpenId_Consumer_Storage $storage = null, bool $dumbMode = false) : void
Constructs a Zend_OpenId_Consumer object with given $storage.
Enables or disables future association with server based on Diffie-Hellman key agreement.
Name | Type | Description |
---|---|---|
$storage | \Zend_OpenId_Consumer_Storage | implementation of custom storage object |
$dumbMode | bool | Enables or disables consumer to use association with server based on Diffie-Hellman key agreement |


_addAssociation(string $url, string $handle, string $macFunc, string $secret, integer $expires) : void
Store assiciation in internal chace and external storage
Name | Type | Description |
---|---|---|
$url | string | OpenID server url |
$handle | string | association handle |
$macFunc | string | HMAC function (sha1 or sha256) |
$secret | string | shared secret |
$expires | integer | expiration UNIX time |


_associate(string $url, float $version, string $priv_key = null) : bool
Create (or reuse existing) association between OpenID consumer and OpenID server based on Diffie-Hellman key agreement.
Returns true on success and false on failure.
Name | Type | Description |
---|---|---|
$url | string | OpenID server url |
$version | float | OpenID protocol version |
$priv_key | string | for testing only |
Type | Description |
---|---|
bool |


_checkId(bool $immediate, string $id, string $returnTo = null, string $root = null, mixed $extensions = null, \Zend_Controller_Response_Abstract $response = null) : bool
Performs check of OpenID identity.
This is the first step of OpenID authentication process. On success the function does not return (it does HTTP redirection to server and exits). On failure it returns false.
Name | Type | Description |
---|---|---|
$immediate | bool | enables or disables interaction with user |
$id | string | OpenID identity |
$returnTo | string | HTTP URL to redirect response from server to |
$root | string | HTTP URL to identify consumer on server |
$extensions | mixed | extension object or array of extensions objects |
$response | \Zend_Controller_Response_Abstract | an optional response object to perform HTTP or HTML form redirection |
Type | Description |
---|---|
bool |


_discovery(string $id, string $server, float $version) : bool
Performs discovery of identity and finds OpenID URL, OpenID server URL and OpenID protocol version.
Returns true on succees and false on failure.
Name | Type | Description |
---|---|---|
$id | string | &$id OpenID identity URL |
$server | string | &$server OpenID server URL |
$version | float | &$version OpenID protocol version |
Type | Description |
---|---|
bool |
- Todo
- OpenID 2.0 (7.3) XRI and Yadis discovery


_getAssociation(string $url, string $handle, string $macFunc, string $secret, integer $expires) : void
Retrive assiciation information for given $url from internal cahce or external storage
Name | Type | Description |
---|---|---|
$url | string | OpenID server url |
$handle | string | &$handle association handle |
$macFunc | string | &$macFunc HMAC function (sha1 or sha256) |
$secret | string | &$secret shared secret |
$expires | integer | &$expires expiration UNIX time |


_httpRequest(string $url, string $method = 'GET', array $params = array(), int $status = null) : mixed
Performs HTTP request to given $url using given HTTP $method.
Send additinal query specified by variable/value array, On success returns HTTP response without headers, false on failure.
Name | Type | Description |
---|---|---|
$url | string | OpenID server url |
$method | string | HTTP request method 'GET' or 'POST' |
$params | array | additional qwery parameters to be passed with |
$status | int | &$staus HTTP status code request |
Type | Description |
---|---|
mixed |


_setError(string $message) : void
Saves error message
Name | Type | Description |
---|---|---|
$message | string | error message |


check(string $id, string $returnTo = null, string $root = null, mixed $extensions = null, \Zend_Controller_Response_Abstract $response = null) : bool
Performs immediate check (without user interaction) of OpenID identity.
This is the first step of OpenID authentication process. On success the function does not return (it does HTTP redirection to server and exits). On failure it returns false.
Name | Type | Description |
---|---|---|
$id | string | OpenID identity |
$returnTo | string | HTTP URL to redirect response from server to |
$root | string | HTTP URL to identify consumer on server |
$extensions | mixed | extension object or array of extensions objects |
$response | \Zend_Controller_Response_Abstract | an optional response object to perform HTTP or HTML form redirection |
Type | Description |
---|---|
bool |


getError() : string
Returns error message that explains failure of login, check or verify
Type | Description |
---|---|
string |


getHttpClient() : \Zend_Http_Client
Returns HTTP client object that will be used to make HTTP requests
Type | Description |
---|---|
\Zend_Http_Client |


getSession() : \Zend_Session_Namespace
Returns session object that is used to store climed_id
Type | Description |
---|---|
\Zend_Session_Namespace |


login(string $id, string $returnTo = null, string $root = null, mixed $extensions = null, \Zend_Controller_Response_Abstract $response = null) : bool
Performs check (with possible user interaction) of OpenID identity.
This is the first step of OpenID authentication process. On success the function does not return (it does HTTP redirection to server and exits). On failure it returns false.
Name | Type | Description |
---|---|---|
$id | string | OpenID identity |
$returnTo | string | URL to redirect response from server to |
$root | string | HTTP URL to identify consumer on server |
$extensions | mixed | extension object or array of extensions objects |
$response | \Zend_Controller_Response_Abstract | an optional response object to perform HTTP or HTML form redirection |
Type | Description |
---|---|
bool |


setHttpClient(\Zend_Http_Client $client) : void
Sets HTTP client object to make HTTP requests
Name | Type | Description |
---|---|---|
$client | \Zend_Http_Client | HTTP client object to be used |


setSession(\Zend_Session_Namespace $session) : void
Sets session object to store climed_id
Name | Type | Description |
---|---|---|
$session | \Zend_Session_Namespace | HTTP client object to be used |


verify(array $params, string $identity = "", mixed $extensions = null) : bool
Verifies authentication response from OpenID server.
This is the second step of OpenID authentication process. The function returns true on successful authentication and false on failure.
Name | Type | Description |
---|---|---|
$params | array | HTTP query data from OpenID server |
$identity | string | &$identity this argument is set to end-user's claimed identifier or OpenID provider local identifier. |
$extensions | mixed | extension object or array of extensions objects |
Type | Description |
---|---|
bool |