PHP OpenID consumer
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
Chris Smith 6991d67763 Fixed incorrect method calls when handling a revocation 12 years ago
examples Release 0.6 14 years ago
test Improve parsehtml test 14 years ago
tests Unit tests for vox and myopenid. Issue #12. 14 years ago
.gitignore Ensure trust_root is always below return_to URL 15 years ago
README.mkdn Update README for 0.6 14 years ago
ax.ext.php Release 0.6 14 years ago
bigmath.inc.php Work properly without dl() function 14 years ago
discoverer.inc.php Handle array/object arguments in logging calls 13 years ago
keycache.php Initial import 15 years ago
keymanager.inc.php Add more logging to aid debugging 13 years ago
logging.inc.php Handle array/object arguments in logging calls 13 years ago
openid.gif Initial import 15 years ago
poster.inc.php Release 0.6 14 years ago
processor.php Fixed incorrect method calls when handling a revocation 12 years ago
sreg.ext.php Release 0.6 14 years ago
test.php Release 0.6 14 years ago
urlbuilder.inc.php Add more logging to aid debugging 13 years ago

README.mkdn

# Welcome to Poidsy 0.6 ########################################################

Poidsy is a PHP OpenID consumer (or *relaying party* in OpenID 2.0 parlance). It
is designed to be extremely simple for developers to use, hiding as much of the
OpenID logic as possible.

## Prerequisites ###############################################################

Poidsy requires:

* PHP 5.2.10 or above, and
* `allow_url_fopen` set to `true` in PHP's configuration

To associate with identity providers (as opposed to using "dumb"
authentication), it needs:

* The `hash_hmac` function (available by default in PHP 5.2.0 unless explicitly
disabled), and
* The ability to write to the `keycache.php` file in the Poidsy directory

Finally, to enable Diffie-Hellman key exchange, it also needs:

* The `gmp` library (preferred), or
* The `bcmath` library.

You can check all of these at a glance by extracting the Poidsy distribution (or
checking out the source code) and viewing the bundled `test.php` page in your
browser.

## Installation ################################################################

Poidsy requires no explicit installation. Simple extract all of the files and
you're ready to go. If you extract the files to a directory accessible via your
webserver (you don't need to, if you don't want), the included demo consumers
should work out of the box.

## Using Poidsy ################################################################

Instructions for using Poidsy and integrating it into an existing authentication
solution are available on the website:

http://apps.md87.co.uk/openid/instructions.php

In short, you need to include Poidsy's `processor.php` script whenever an OpenID
action needs to be performed. Usually, this will be when the user first gives
you their identity and you want to verify it, and when the user's identity
provider sends them back to you with results.

Poidsy uses PHP sessions to store temporary data and to expose relevant
information to you once the identification procedure is complete. You therefore
need to make sure you call `session_start()` before including the processor, and
when you need to use any results.

A concise example of a stand-alone consumer is available in the `examples/basic`
directory.

## Contributing, reporting bugs, etc ###########################################

Poidsy is open source software, released under the MIT license. The latest
source code is available via GitHub: http://github.com/csmith/Poidsy. Bugs and
feature requests are logged on the issue tracker in the GitHub project. If
you've made changes to Poidsy and are willing to share them, please push them
and use the 'Pull Request' functionality in GitHub. Alternatively, feel free to
e-mail me patches.

If you need help with Poidsy, or want to get in touch, I can be found on IRC
in #MDbot on Quakenet (irc.quakenet.org), or can be reached via e-mail at
chris@dmdirc.com.