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

u moet 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. Your users just have to reset their password with the special page Special:PasswordReset.



<-> GoogleLogin conflict (alleen met en MediaWiki <= 1.26!)
MobileFrontend, the extension to provide a mobile optimized version of your wiki, actually conflicts with GoogleLogin if you set  to   (to disallow login with the vanilla login form). In the case, that MobileFrontend is loaded after GoogleLogin (the require_once line of MobileFrontend in your  is after the one of GoogleLogin), the special page UserLogin (which handles the login with username and password) will be overwritten by GoogleLogin the first time and by MobileFrontend the second time (to provide a mobile optimized login page). In this case, MobileFrontends Replacement will win and mobile users can still login with username and passwords.

Actually this problem is solved in the MediaWiki release branch/version 1.26 (tracked in ) of MobileFrontend. For older versions of MediaWiki/MobileFrontend you need to change the order in which the Extensions are loaded. Put the require_once and configuration lines of GoogleLogin somewhere after the ones of MobileFrontend in your. This workaround should be obsolete in one of the next versions of MobileFrontend.



Wat deze extensie kan doen
With the database update, the extension will create a new table called prefix_user_google_user which contains the needed connection between the wiki users and Google accounts. It stores only the Google UserId and the Wiki UserId.

If a user calls the special page GoogleLogin, they will instantly redirected to Google Authentication request to give your application access to some user information stored by Google. The user must accept this request (or they can not use the login with Google). After accepting, the user has the possibility, if they are not logged in as a wiki user, to create a new account. The username they can choose self or choose one of the suggestions, based on the Google user name and given name (if one s free and createable). If the chosen username is creatable (free, valid and not blocked), a new user with the username and the Google-Mail as e-mail-address will be created and linked to the Google Account.

If the user is logged in (means: they have already a wiki account) they can link this account with the Google account, this the user must do only once. If the connection is created, the user will be able to login simply by clicking Login with Google button on Special:Login.

If the wiki account and Google account is connected, the user can, if they navigate to "Special:GoogleLogin", unlink his account and Google account.

Google API PHP Client
This Extension uses the Google API PHP Client (included in versions before 0.2.1), distributed under the Apache 2.0 License. The Client can be downloaded from GitHub.

