iignatov/lightopenid

Lightweight PHP5 library for easy OpenID authentication.

1.0.0 2014-01-27 06:01 UTC

This package is not auto-updated.

Last update: 2024-11-18 06:40:59 UTC


README

Lightweight PHP5 library for easy OpenID authentication.

Quick start

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

  • Easy to use - you can code a functional client in less than ten lines of code.
  • Uses cURL if avaiable, PHP-streams otherwise.
  • Supports both OpenID 1.1 and 2.0.
  • Supports Yadis discovery.
  • Supports only stateless/dumb protocol.
  • Works with PHP >= 5.
  • Generates no errors with error_reporting(E_ALL | E_STRICT).

Links

License

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