49 lines
		
	
	
		
			2.0 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			49 lines
		
	
	
		
			2.0 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
| 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 |