iignatov / LightOpenID

Lightweight PHP5 library for easy OpenID authentication.
MIT License
79 stars 96 forks source link

NOTICE

I am no longer able to support or maintain this project - if you would like to take over the project, please drop me a line.

LightOpenID

Lightweight PHP5 library for easy OpenID authentication.

Quick start

Add to composer.json

"repositories": [
  {
    "type": "vcs",
    "url": "https://github.com/iignatov/LightOpenID"
  }
],

"require": {    
  "php": ">=5.4.0",
  "iignatov/lightopenid": "*"
}

Sign-on with OpenID in just 2 steps:

  1. Authentication with the provider:

     $openid = new LightOpenID('my-host.example.org');
    
     $openid->identity = 'ID supplied by user';
    
     header('Location: ' . $openid->authUrl());
  2. Verification:

     $openid = new LightOpenID('my-host.example.org');
    
     if ($openid->mode) {
       echo $openid->validate() ? 'Logged in.' : 'Failed!';
     }

Support for AX and SREG extensions:

To use the AX and SREG extensions, 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');

Note that if the server supports only SREG or OpenID 1.1, these are automaticaly mapped to SREG names. To get the values use:

  $openid->getAttributes();

For more information see USAGE.md.

Requirements

This library requires PHP >= 5.1.2 with cURL or HTTP/HTTPS stream wrappers enabled.

Features

Links

License

LightOpenID is an open source software available under the MIT License.