Extension:GoogleLogin/PreAuthManager/nl

From mediawiki.org
This page is a translated version of the page Extension:GoogleLogin/PreAuthManager and the translation is 100% complete.
MediaWiki Handleiding extensies
GoogleLogin
Release status: beta
Implementatie User identity, Special page
Beschrijving Maakt inloggen met een Google account mogelijk (door middel van de Google API)
Auteur(s) Florian Schmidt (Florianschmidtwelzowoverleg)
Laatste versie zie de levensduur van de versie (2015-04-23)
MediaWiki zie de levensduur van de versie
PHP 5.3+ (since 0.4.0: 5.5+)
Database wijzigingen Ja
Composer mediawiki/googlelogin
Licentie MIT Licentie
Download
Extension:GoogleLogin/Changelog
  • $wgGLAPIKey
  • $wgGLAllowedDomainsStrict
  • $wgGLAppId
  • $wgGLAllowedDomainsDB
  • $wgGLAuthoritativeMode
  • $wgGLSecret
  • $wgGLEnableEchoEvents
  • $wgGLAllowedDomains
  • managegooglelogin
  • managegooglelogindomains
Downloads kwartaal 83 (Ranked 71st)
Vertaal de GoogleLogin/PreAuthManager extensie indien beschikbaar op translatewiki.net
Problemen Open taken · Rapporteer een bug
Deze pagina beschrijft de extensie GoogleLogin zoals het was geïnstalleerd en gebruikt voor het nieuwe authenticatie systeem (ook bekend als de AuthManager), die is geïmplementeerd in alle ondersteunde MediaWiki versies. U moet het gebruiken en niet deze versie van Extension:GoogleLogin.

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 Secret)
  • Versie v0.2.1 tot versie 0.3.1 vereisen de Extension GoogleAPIClient [1], voer anders alleen composer update, uit.

Installatie

  • Download en plaats de bestanden in de map GoogleLogin in de map extensions/.
    Ontwikkelaars en bijdragers van code moeten in plaats daarvan de extensie van Git installeren, met behulp van:cd extensions/
    git clone https://gerrit.wikimedia.org/r/mediawiki/extensions/GoogleLogin
  • Voeg de volgende code onderaan het bestand LocalSettings.php toe:
    require_once "$IP/extensions/GoogleLogin/GoogleLogin.php";
    
  • Voer het update script uit, dat automatisch de vereiste database-tabellen creëert die nodig zijn voor de extensie.
  • Configureer de vereiste parameters
  • Wees er zeker van dat root schrijftoegang heeft tot ./wiki/extensions/GoogleLogin/cache
  • Yes Klaar – Navigeer naar Special:Version op de wiki om te controleren dat de extensie geïnstalleerd is.

Configuratie

Controleer of alle instellingen zich onder "require_once" bevinden, toegevoegd zijn voor deze plugin. Anders worden aangepaste instellingen overschreven door de standaardinstellingen, zoals hier aangegeven: Topic:Si6ituq6hmxb07xm

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 ">").

$wgGLSecret = '<your-client-secret>';
$wgGLAppId = '<your-client-id>';

Aanvullende configuratie parameter

Configuratie variabele sinds versie Standaardwaarde Beschrijving
$wgGLShowCreateReason[gerrit 1] v0.1.1 (verwijderd in 0.4.0) false Indien true, voegt via GoogleLogin toe als reden in de log voor het aanmaken van een account.
$wgGLAllowedDomains[gerrit 2] v0.1.1 '' Een array met e-mail domeinen, deze zijn toegestaan om met GoogleLogin te werken, bijv. array( 'example.com' );. Standaardwaarde: alle domeinen zijn toegestaan.
$wgGLAllowedDomainsStrict[gerrit 2] v0.1.1 false Wordt alleen gebruikt als $wgGLAllowedDomains een array is. Als de waarde true is, dan wordt het domein van de e-mail gecontroleerd met de toegestane domeinen (in plaats van allen de TLD), bijv.:

test.example.com is niet toegestaan als $wgGLAllowedDomainsStrict true is en example.com een toegestaan domein is.
test.example.com is toegestaan als $wgGLAllowedDomainsStrict is false en example.com is een toegestaan domein.

$wgGLShowKeepLogin[gerrit 3] v0.1.2 (verwijderd in 0.4.0) true Indien true, het selectieveld ingelogd blijven van GoogleLogin (voor Login met knop Google) is zichtbaar.
$wgGLAllowAccountCreation[gerrit 4] v0.1.2 (verwijderd in 0.4.0) $wgGroupPermissions['*']['createaccount'] Bepaalt of de gebruiker een account via GoogleLogin kan aanmaken. Standaard wordt de waarde van de groepsrechten voor niet ingelogde gebruikers gebruikt.
$wgGLReplaceMWLogin[gerrit 4] v0.1.2 (verwijderd in 0.4.0) false Indien true, het via MediaWiki inloggen wordt vervangen door GoogleLogin. Het bevat:
  • Login-Link in Persoonlijke URL's
  • vervangen van Special:UserLogin door Special:GoogleLogin
$wgGLForceKeepLogin[gerrit 5] v0.2.0 (verwijderd in 0.4.0) false Controle, als het langer ingelogd blijven is ingeschakeld en er dus langere sessies zijn (ook als de gebruiker dat vakje niet aanvinkt bij het inloggen of GoogleLogin wordt gebruikt i.p.v. MediaWiki's login!)
Deze configuratie overschrijft $wgGLShowKeepLogin niet, maar het overschrijft de waarde van het vinkje van de login bewaren, om verwarring te voorkomen kunt u dit op false zetten.
$wgGLAPIKey[gerrit 6] v0.2.1 '' Key voor openbare toegang API. Alleen gebruikt bij beheerderacties om te controleren of de gebruiker een Google-Plus profiel heeft.
$wgGLShowRight[gerrit 7] v0.3.0 (verwijderd in 0.4.0) false Bij de waarde true wordt de knop Google Login op Special:UserLogin verplaatst naar de rechterzijde van het scherm.
$wgGLNeedsConfirmEmail[gerrit 8] v0.3.0 (verwijderd in 0.4.0) true Of de gebruiker wel/niet het Google e-mailadres na registratie van een lokaal MediaWiki account moet bevestigen..

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
  10. 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 $wgShowExceptionDetails toe met de waarde true in LocalSettings.php 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

$wgGroupPermissions['*']['read'] = false;

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:

$wgWhitelistRead = array( 'Special:GoogleLogin' );

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 LocalSettings.php in:

$wgGroupPermissions['*']['createaccount'] = false;
$wgGLAllowAccountCreation = true;

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

$wgGLReplaceMWLogin = true;

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.

<span id="MobileFrontend _GoogleLogin_conflict_(only_with_$wgGLReplaceMWLogin = true;_and_MediaWiki_<=_1.26!)">

MobileFrontend <-> GoogleLogin conflict (alleen met $wgGLReplaceMWLogin = true; en MediaWiki <= 1.26!)

MediaWiki-versie:
1.25

MobileFrontend, de extensie zorgt voor een mobiele geoptimaliseerde versie van uw wiki, het geeft een conflict met GoogleLogin als u de $wgGLReplaceMWLogin op true 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 LocalSettings.php 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 (taak T74910) 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.

Levensduur versie

In the following table you'll find versions of the GoogleLogin extension, the corresponding MediaWiki version for which the GoogleLogin version was built for and if it's still supported (and until when) or not. Mostly the support of a version is nearly the same as the lifecycle of the corresponding MediaWiki version.

Version Corresponding MediaWiki version Status Release End-of-life
0.4.x 1.28.x current version november 2017
0.4.0 1.27.x (LTS) current version juni 2019
0.3.1 1.27.x (LTS) obsolete (replaced by 0.4.0)
0.3.0 1.26.x legacy version n/a november 2016
0.2.1 1.25.x discontinued n/a
0.2.0 1.24.x discontinued n/a
0.1.3 1.23.x (LTS) discontinued n/a

Versions included in the above table that are marked as discontinued will not receive any fixes. They may contain critical security vulnerabilities and other major bugs, including the threat of possible data loss and/or corruption. The developer has also issued a strong recommendation that only versions listed above as current version or at least legacy version should be used in a production environment. Legacy versions will most likely get fixes for reported bugs that harms the core functionality of the extension, while current versions get fixes for most of the reported bugs (even if they're not part of the core functionality). New features will most likely be part of new versions. Backporting features to older versions of GoogleLogin is up to the developer(s).

Referenties

Gerrit Code review