How it works
The OpenID relying party (client) I implemented for MoinMoin works in the following way:
- An "OpenID" field is added to the login form
- If the user logs in with an OpenID, that is verified.
If the user hasn't logged in with that OpenID before, she is asked to set a wiki username for this OpenID. If she enters a username that exists, she is asked to either choose a new name or enter the password for that username to allow linking that account to the OpenID.
OpenID login requires anonymous sessions enabled by setting cfg.anonymous_cookie_lifetime to anything > 0.
code
Committed to 1.7.
to do
- maybe redirect the user to a plain URL after they have been redirected back from their OP since otherwise reloading the page will log them out due to missing session state
use attribute exchange/simple registration to get email/nickname and point users to UserPreferences if they want to change it