Extension:GoogleLogin/PreAuthManager/nl

De extensie GoogleLogin staat het wiki-gebruikers toe om in te loggen met hun Google Account. De extensie gebruikt de Google-API om de gebruikersgegevens op te vragen. Als de gebruiker voor de eerste keer inlogt, de extensie staat het de gebruiker toe om een gebruiker toe te voegen met het Google e-mailadres en de Google gebruikersnaam (of de gegeven of de eigen naam).

Vereisten
Om deze extensie te gebruiken zijn de volgende onderdelen vereist:
 * MediaWiki 1.23+ (voor versie v0.2.0 en hoger is MediaWiki 1.24 vereist)
 * MySQL (geen ondersteuning voor PostgreSQL of SQLite op dit moment)
 * PHP 5.3+
 * Google Ontwikkelaars Toegang
 * Google+ API toegang
 * API inloggegevens voor Webapplicaties (Client ID en Client geheim)
 * Versie v0.2.1 tot versie 0.3.1 vereisen de Extentie GoogleAPIClient, voer anders alleen  , uit.

Configuratie
De extensie voegt twee configuratie-variabelen toe waarmee de Client ID en de Client Secret ingesteld kunnen worden (deze krijgt in het Google Developer Console, verwijder " " en " ").



Aanvullende configuratie parameter


Instellingen in het Google Developer Console
Om deze extensie te gebruiken dient u een Google developer account en toegang tot het developer console te hebben. Dit is een erg eenvoudige gids (gebruik Stap 1 van de officiële gids met deze instellingen):


 * 1) Open het Google developer console
 * 2) Lees en accepteer de voorwaarden
 * 3) Maak uw eerste project aan
 * 4) Ga naar APIS & AUTH
 * 5) Ga naar APIs en schakel Google+ API in (lees eerst de voorwaarden en accepteer die)
 * 6) Ga naar Credentials
 * 7) Klik in de sectie OAuth op Create new Client ID
 * 8) Selecteer Web application als APPLICATION TYPE, bij  Authorized JavaScript origins voer in uw domeinnaam (geen jokertekens of mappen toegestaan!)
 * 9) Vul uw Authorized redirect URI in zoals in dit voorbeeld:
 * Als example.com de domeinnaam is en u heeft MediaWiki geïnstalleerd in de Root van het domein, dan is de 'redirect URI': http://example.com/index.php/Special:GoogleLogin
 * 1) Maak het aan en kopieer de Client ID en de Client Secret naar de betreffende configuratie-variabelen in LocalSettings.php



"Special:GoogleLogin" (of wat het in de vertaling geworden is)
De toegestane doorverwijzing (URI) in het Google developer console moet in de taal van de inhoud zijn. Als u dat niet doet zal elke authenticatie mislukken met de melding redirect uri mismatch.

Debuggen
Normaal ziet u de foutboodschap op alle generieke foutpagina's. Sons treedt er een interne fout op, een zogenaamde Exception. Voeg in dat geval een toe met de waarde true in   om de complete foutboodschap te zien. Als u ondersteuning vraagt geeft dan ter informatie alle regel van de melding van deze Exception.



Gebruik op een privé wiki
Als u uw Wiki op privaat hebt gezet met

dan moet u de "Special:GoogleLogin" pagina op de witte lijst zetten, dan kunnen anonieme gebruikers de 'callback URL' benaderen nadat ze zijn doorverwezen door de authenticatie provider. U kunt dit doen door de volgende regel toe te voegen aan uw bestand LocalSettings.php:



Account aanmaken alleen via GoogleLogin toestaan
Het is mogelijk de functie om een account aan te maken uit te schakelen. Bij GoogleLogin wordt deze functie normaal ook niet geboden. Het kan zo aangepast worden dat het wel mogelijk is met GoogleLogin, maar niet met het formulier vanilla account. Stel hiervoor de volgende configuratie variabelen in uw  in:

If you want to remove the Login form of MediaWiki, too, you can set this configuration variable, too:

Als u in de toekomst GoogleLogin wilt verwijderen dan kunnen uw gebruikers altijd nog inloggen op uw MediaWiki zonder een nieuw account aan te maken. GoogleLogin maakt een normaal MediaWiki-account aan met een willekeurig wachtwoord. Uw gebruikers moeten hun wachtwoord dan resetten met de speciale pagina Wachtwoord opnieuw instellen.



<-> GoogleLogin conflict (alleen met en MediaWiki <= 1.26!)
MobileFrontend, de extensie zorgt voor een mobiele geoptimaliseerde versie van uw wiki, het geeft een conflict met GoogleLogin als u de   op   zet (om inloggen met het scherm vanilla login te voorkomen). In dat geval, dat MobileFrontend wordt geladen na GoogleLogin (de regel require_once van MobileFrontend in uw  is na die van GoogleLogin), wordt de speciale pagina UserLogin (die zorgt voor het inloggen) de eerste keer 'overschreven' met de GoogleLogin en de tweede keer met MobileFrontend (mobiel vriendelijk inloggen). In dit geval zal MobileFrontends vervanging de winst behalen en kunnen mobiele gebruikers met gebruikersnaam en wachtwoord inloggen.

Dit probleem is de MediaWiki release branch/version 1.26 opgelost van MobileFrontend.



Wat deze extensie kan doen
De extensie maakt een tabel prefix_user_google_user aan die de benodigde connectie tussen de wiki gebruikers en Google accounts bevat. Het slaat alleen het Google UserId en het Wiki UserId op.

Als een gebruiker de speciale pagina GoogleLogin gebruikt, dan wordt die gebruiker doorverwezen naar de Google Authenticatie om uw applicatie toegang te geven tot gebruikersinformatie opgeslagen bij Google. De gebruiker moet dit verzoek toestaan (anders kan de gebruiker niet inloggen via Google). Na acceptatie kan de gebruiker, als die nog niet is ingelogd, een account aanmaken. De gebruikersnaam kan door de gebruiker worden gekozen of uit een aantal suggesties worden gekozen, gebaseerd op de Google gebruikersnaam en de gegeven naam (als die naam nog niet voorkomt). Als de gekozen gebruikersnaam mogelijk is (uniek, niet geblokkeerd en voldoet aan eisen voor de naam), dan wordt het account aangemaakt met die gebruikersnaam en als e-mailadres dat van Google-Mail en het gelinkt aan het Google Account.

Als de gebruiker al ingelogd is (dus al een wiki-account heeft) dan kunnen ze dat account linken met het Google account, dat is per gebruiker eenmalig. Daarna kan de gebruiker eenvoudig met klikken op de knop Login with Google op Special:Login inloggen.

Als het wiki-account en het Google account verbonden is, kan de gebruiker door naar "Special:GoogleLogin" te gaan, deze verbinding tussen het account en het Google account verbreken.

Google API PHP Client
Deze extensie gebruikt de Google API PHP Client (inclusief in de versie voor 0.2.1), gedistribueerd onder de Apache 2.0 License. De Client kan worden gedownload op GitHub.

