txOpenID is an OpenID server built on the Twisted networking engine.
OpenID is an identity service designed for the web. The purpose of OpenID is to eliminate the need for a distinct username and password for each website you visit. It achieves this by allowing internet users to use a single digital identity that can be used on multiple websites. It's ideal for individuals who want to retain control over how much personal information they choose to share.
txOpenID requires several elements to work, including Python 2.5, Twisted 8.1.0 (Core, Web), and Nevow 0.9.31. Assuming you've downloaded the txOpenID distribution and changed to its directory, you'll need to create a MySQL database to store user account and session data. This can be done by utilizing the MySQL commands included in the distribution files.
To set up a URL as an OpenID identifier, place the following tag in the webpage's header: . Finally, run the authentication server by invoking twistd -n openid -H server.hostname.com. You should now be able to log in to a compatible consumer using your OpenID identifier.
There are two different ways to authenticate to an OpenID provider. The first is checkid_immediate, which is used in AJAX-type situations and always returns immediately. If setup is needed (e.g., to login or approve a new identity or trusted root), the particular ID consumer is responsible for opening a new window or frame to the ID server so you can validate the request. The second method is checkid_setup, which is used when it is not imperative for the user to stay on-site. They will be redirected to the ID server and have a chance to validate the request. Once the user has completed the necessary steps, or there is no action required, the ID server will redirect back to the consumer's designated return_to URL.
In terms of the newest release, txOpenID's first major release is now available for human consumption. This version includes an OpenID 1.1 compatible identity provider and reads authentication data and user agent sessions out of a MySQL database using MySQLdb and Twisted Enterprise's adbapi layer. While Diffie-Hellman key exchange support is currently suspended, it will be accessible in a future release.
Version 0.5: N/A