|
@@ -0,0 +1,68 @@
|
|
1
|
+# Welcome to Poidsy 0.5 ########################################################
|
|
2
|
+
|
|
3
|
+Poidsy is a PHP OpenID consumer (or *relaying party* in OpenID 2.0 parlance). It
|
|
4
|
+is designed to be extremely simple for developers to use, hiding as much of the
|
|
5
|
+OpenID logic as possible.
|
|
6
|
+
|
|
7
|
+## Prerequisites ###############################################################
|
|
8
|
+
|
|
9
|
+Poidsy requires:
|
|
10
|
+
|
|
11
|
+ * PHP 5.2.10 or above, and
|
|
12
|
+ * `allow_url_fopen` set to `true` in PHP's configuration
|
|
13
|
+
|
|
14
|
+To associate with identity providers (as opposed to using "dumb"
|
|
15
|
+authentication), it needs:
|
|
16
|
+
|
|
17
|
+ * The `hash_hmac` function (available by default in PHP 5.2.0 unless explicitly
|
|
18
|
+ disabled), and
|
|
19
|
+ * The ability to write to the `keycache.php` file in the Poidsy directory
|
|
20
|
+
|
|
21
|
+Finally, to enable Diffie-Hellman key exchange, it also needs:
|
|
22
|
+
|
|
23
|
+ * The `gmp` library (preferred), or
|
|
24
|
+ * The `bcmath` library.
|
|
25
|
+
|
|
26
|
+You can check all of these at a glance by extracting the Poidsy distribution (or
|
|
27
|
+checking out the source code) and viewing the bundled `test.php` page in your
|
|
28
|
+browser.
|
|
29
|
+
|
|
30
|
+## Installation ################################################################
|
|
31
|
+
|
|
32
|
+Poidsy requires no explicit installation. Simple extract all of the files and
|
|
33
|
+you're ready to go. If you extract the files to a directory accessible via your
|
|
34
|
+webserver (you don't need to, if you don't want), the included demo consumers
|
|
35
|
+should work out of the box.
|
|
36
|
+
|
|
37
|
+## Using Poidsy ################################################################
|
|
38
|
+
|
|
39
|
+Instructions for using Poidsy and integrating it into an existing authentication
|
|
40
|
+solution are available on the website:
|
|
41
|
+
|
|
42
|
+ http://apps.md87.co.uk/openid/instructions.php
|
|
43
|
+
|
|
44
|
+In short, you need to include Poidsy's `processor.php` script whenever an OpenID
|
|
45
|
+action needs to be performed. Usually, this will be when the user first gives
|
|
46
|
+you their identity and you want to verify it, and when the user's identity
|
|
47
|
+provider sends them back to you with results.
|
|
48
|
+
|
|
49
|
+Poidsy uses PHP sessions to store temporary data and to expose relevant
|
|
50
|
+information to you once the identification procedure is complete. You therefore
|
|
51
|
+need to make sure you call `session_start()` before including the processor, and
|
|
52
|
+when you need to use any results.
|
|
53
|
+
|
|
54
|
+A concise example of a stand-alone consumer is available in the `examples/basic`
|
|
55
|
+directory.
|
|
56
|
+
|
|
57
|
+## Contributing, reporting bugs, etc ###########################################
|
|
58
|
+
|
|
59
|
+Poidsy is open source software, released under the MIT license. The latest
|
|
60
|
+source code is available via GitHub: http://github.com/csmith/Poidsy. Bugs and
|
|
61
|
+feature requests are logged on the issue tracker in the GitHub project. If
|
|
62
|
+you've made changes to Poidsy and are willing to share them, please push them
|
|
63
|
+and use the 'Pull Request' functionality in GitHub. Alternatively, feel free to
|
|
64
|
+e-mail me patches.
|
|
65
|
+
|
|
66
|
+If you need help with Poidsy, or want to get in touch, I can be found on IRC
|
|
67
|
+in #MDbot on Quakenet (irc.quakenet.org), or can be reached via e-mail at
|
|
68
|
+chris@dmdirc.com.
|