shupp edited this page Sep 13, 2010 · 8 revisions
Clone this wiki locally

About this package

OpenID is a free and easy way to use a single digital identity across the Internet. See openid.net for details. This package is a PHP implementation of the OpenID 1.1 and 2.0 specifications for Relying Party functionality.

Only Relying Party support is provided at this time. Provider support is already underway, and will be added as a separate package (i.e. OpenID_Provider).

There is out of the box support for a few extensions, including Simple Registration (1.0 and 1.1), Attribute Exchange, and some support for the new UI extension.

This package supports a storage interface (including Cache_Lite and MDB2 drivers) for easy addition of custom drivers. There is also support for observers for logging, etc.

There is an example web console for testing discovery, relying party (with some useful debugging functionality), and also a sample implementation of an OpenID JS Selector (i.e. the “NASCAR” solution).

You can try the examples here.

A few notes about this package:

  • There is 100% code coverage, and full CS compliance with PHP_CodeSniffer 1.1.0.
  • This package meets all test-id.net tests with the exception of SSL validation, as that doesn’t work well in curl for some reason (I’m investigating it).

Open Tasks

Items that need implementation

  • OpenID_Provider
  • OpenID_Extension_PAPE
  • OpenID_Extension_OAuth
  • Add easy RP discovery support (XRDS)
  • Update Crypt_DiffieHellman to use Math_BigInteger instead of its own implementation