== How it works == The OpenID relying party (client) I implemented for MoinMoin works in the following way: 1. An "OpenID" field is added to the login form 1. 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