%META:TOPICINFO{author="TWikiContributor" date="1111929255" format="1.0" version="1"}%

<img src="%ATTACHURL%/WikiRing-TWiki-OpenID.png" style="float:right;margin:20px" />
---+ OpenIDUserContrib

This Contrib adds [[http://openid.net][OpenID]] login and 1.1 Attribute functionalty to TWiki.

Currently, it disables Registration, and limits authentication to <nop>OpenID users. 

It has the advantage over the <nop>OpenIDAuth apache module, that it automatically requests the User's <nop>OpenId 1.1 attributes
like Name, Email address directly from their <nop>OpenID identity.

While it trusts the user's choice of 'FullName' registration attribute when displaying who made changes to topics, the TWiki topic source
actually stores the authenticating <nop>OpenID URI, thus their user details will be updated from the authentication server next time they log in.

Note that TWiki Topic based Groups are _not_ yet implemented using this Mapper.

---+++ Future direction
   * add mixing of <nop>UserMappers to allow <nop>OpenID and 'normal' TWiki auth
   * turn TWiki into an <nop>OpenID identity server
   * add Safe Group definition system
   * add <nop>OpenId to TWiki's registration process (would require openid auth first, then prefill registration details from any available attributes
      * This will require re-writing of TWiki's inbuilt registration system
   * move the list of Known users and their mapping information from =data/OpenIdUsers.txt= to somewhere more scalable. (perhaps DBI)
      * combine the info TWiki uses persistently with the Session and other caching info OpenID11 uses

---++ Plugin Settings

Plugin settings are stored as preferences variables. To reference
a plugin setting write ==%<nop>&lt;plugin&gt;_&lt;setting&gt;%==, i.e. ==%<nop>OPENIDPLUGIN_SHORTDESCRIPTION%==

   * One line description, is shown in the %TWIKIWEB%.TextFormattingRules topic:
      * Set SHORTDESCRIPTION = Add OpenID login functionalty to TWiki

---++ Plugin Installation Instructions

   1 unarchive into your TWiki directory (or install via configure)
   2 in Configure,
      * select Security Setup|{LoginManager} = TWiki::LoginManager::OpenIDLogin
      * select Security Setup|{UserMappingManager} = TWiki::Users::OpenIDUserMapping
      * save your configuration. From now on, your TWiki login will be OpenID based (the internal 4.2 admin user will still work)

---++ Plugin Info

|  Plugin Author: | TWiki:Main.SvenDowideit - SvenDowideit@distributedINFORMATION.com |
|  Copyright: | &copy; 2006-2008, SvenDowideit@distributedINFORMATION.com - http://distributedINFORMATION.com |
|  License: | GPL ([[http://www.gnu.org/copyleft/gpl.html][GNU General Public License]]) |
|  Plugin Version: | Feb 2008 |
|  Change History: | <!-- versions below in reverse order -->&nbsp; |
|  04 Aug 2006: | Initial version |
|  TWiki Dependency: | $TWiki::Plugins::VERSION 1.1 |
|  CPAN Dependencies: | Net::OpenID11 (based on Net::JanRain::OpenID) (included in this Contrib) |
|  Other Dependencies: | Requires TWiki 4.2.0 or higher |
|  Perl Version: | 5.005 |
|  TWiki:Plugins/Benchmark: | %TWIKIWEB%.GoodStyle 99%, %TWIKIWEB%.FormattedSearch 99%, %TOPIC% 99% |
|  Plugin Home: | http://TWiki.org/cgi-bin/view/Plugins/%TOPIC% |
|  Feedback: | http://TWiki.org/cgi-bin/view/Plugins/%TOPIC%Dev |
|  Appraisal: | http://TWiki.org/cgi-bin/view/Plugins/%TOPIC%Appraisal |

__Related Topics:__ %TWIKIWEB%.TWikiPlugins, %TWIKIWEB%.DeveloperDocumentationCategory, %TWIKIWEB%.AdminDocumentationCategory, %TWIKIWEB%.TWikiPreferences

%META:FILEATTACHMENT{name="wikiring.png" attr="h" comment="wikiringlogo" user="Main.SvenDowideit" version="1"}%
%META:FILEATTACHMENT{name="WikiRing-TWiki-OpenID.png" attr="h" comment="logo image" user="Main.SvenDowideit" version="1"}%
%META:FILEATTACHMENT{name="openid-inputicon.gif" attr="h" comment="openidlogo" user="Main.SvenDowideit" version="1"}%
%META:FILEATTACHMENT{name="wikiring.png" attr="h" comment="wikiringlogo" user="Main.SvenDowideit" version="1"}%
