This class provides a simple interface for OpenID (1.1 and 2.0) authentication. Supports Yadis discovery. The authentication process is stateless/dumb. Usage: Sign-on with OpenID is a two step process: Step one is authentication with the provider: <code> $openid = new LightOpenID('my-host.example.org'); $openid->identity = 'ID supplied by user'; header('Location: ' . $openid->authUrl()); </code> The provider then sends various parameters via GET, one of them is openid_mode. Step two is verification: <code> if ($this->data['openid_mode']) { $openid = new LightOpenID('my-host.example.org'); echo $openid->validate() ? 'Logged in.' : 'Failed'; } </code> * Change the 'my-host.example.org' to your domain name. Do NOT use $_SERVER['HTTP_HOST'] for that, unless you know what you are doing. * Optionally, you can set $returnUrl and $realm (or $trustRoot, which is an alias). The default values for those are: $openid->realm = (!empty($_SERVER['HTTPS']) ? 'https' : 'http') . '://' . $_SERVER['HTTP_HOST']; $openid->returnUrl = $openid->realm . $_SERVER['REQUEST_URI']; If you don't know their meaning, refer to any openid tutorial, or specification. Or just guess. * AX and SREG extensions are supported. To use them, specify $openid->required and/or $openid->optional before calling $openid->authUrl(). These are arrays, with values being AX schema paths (the 'path' part of the URL). For example: $openid->required = array('namePerson/friendly', 'contact/email'); $openid->optional = array('namePerson/first'); If the server supports only SREG or OpenID 1.1, these are automaticaly mapped to SREG names, so that user doesn't have to know anything about the server. * To get the values, use $openid->getAttributes(). * The library requires PHP >= 5.1.2 with curl or http/https stream wrappers enabled. @author Mewp @contributors Brice http://github.com/brice/ @copyright Copyright (c) 2010, Mewp @copyright Copyright (c) 2010, Brice @license http://www.opensource.org/licenses/mit-license.php MIT