Implementatie van OpenId (Launchpad) in de Wiki
Wat is een OpenId
Met OpenId kun je registreren op websites zonder elke keer een nieuwe gebruikersnaam/wachtwoord te bedenken. Inloggen zonder je gebruikersnaam/wachtwoord in te voeren.
Hoe gaat het in zijn werk
Je maakt een account aan op een OpenId provider (in dit geval dus Launchpad). Zodra je op een website komt die OpenId ondersteunt, vul je je Launchpad OpenId URL in op die website. De website vraagt dan aan Launchpad om je gegevens. Launchpad vraagt dan weer aan jou of deze site toestemming heeft om deze gegevens uit te lezen. Zodra de site je gegevens van Launchpad heeft ontvangen ben je ingelogd.
Zo hoef je dus niet meer voor elke website een aparte gebruikersnaam/wachtwoord te maken, maar alleen je OpenId URL (En is sommige gevallen wordt die ook automatisch bepaald).
Implementatie
- De oude registratie en login methode blijft beschikbaar
- Launchpad Login komt er als alternatief bij
MoinMoin 1.7.2
- de versie die op dit moment wiki.ubuntu-nl.org gebruikt.
Installeer het python openid pakket:
sudo apt-get install python-openid
Voeg de volgende code toe aan de wikiconfig.py (of een eigen config bestand)
# Bovenin from MoinMoin.auth import MoinAuth from MoinMoin.auth.openidrp import OpenIDAuth
# Bijna onderin auth = [ MoinAuth(), OpenIDAuth(forced_service='https://login.launchpad.net/+openid'), ] cookie_lifetime = 12 anonymous_session_lifetime = 12
Het is mogelijk om (op een eigen testserver) in te loggen met een Launchad OpenId. De 1e keer dat met een Launchpad OpenId wordt ingelogd:
- kan deze gekoppeld worden aan een bestaande gebruikersnaam. Er wordt dan gevraagd om het wiki wachtwoord voor deze gebruikersnaam.
- kan er een nieuwe gebruikersnaam op de wiki worden aangemaakt die automatisch wordt gekoppeld aan het Launchpad account.
MoinMoin 1.9
Hoe ver zijn we op dit moment
Het is mogelijk om (op een eigen testserver) in te loggen met een Launchad OpenId, maar het gaat niet geheel vlekkeloos
- Launchpad heeft per account 2 verschillende url's
- De login naam van de gebruiker wordt gewijzigd (met deze inlognaam moet dan ingelogd worden)
Verschillende Launchapd URL's
Launchpad werkt met 2 verschillende url's voor dezelfde gebruiker, namelijk:
Dit wordt door MoinMoin als 2 verschillende gebruikers gezien.
Launchpad geeft standaard je profiel url (1) als je OpenId login. Deze zou je toevoegen aan de wiki. Bij het inloggen wordt het 2e URL terug gestuurd.
Verandering in gebruikersnaam
Zodra eenmaal ingelogd is met een openid account wordt je accountnaam veranderd in <gebruikersnaam>.
- Werkt dit nog wel goed met de huidige rechten systeem
- Is dit wel gewenst, zo niet is dit op te lossen
Zelf uittesten
Zet het volgende bestand in de map MoinMoin/Auth/ ==> launchpad_openid.py
Gebruik dit bestand als wikiconfig ==> wikiconfig.py