Extension:GoogleLogin/PreAuthManager/nl
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 |
Licentie | MIT Licentie |
Download | Extension:GoogleLogin/Changelog |
|
|
|
|
Downloads kwartaal | 53 (Ranked 83rd) |
Vertaal de GoogleLogin/PreAuthManager extensie indien beschikbaar op translatewiki.net | |
Problemen | Open taken · Rapporteer een bug |
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 mapextensions/
.
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
- Klaar – Navigeer naar Special:Version op de wiki om te controleren dat de extensie geïnstalleerd is.
Configuratie
require_once
" bevinden, toegevoegd zijn voor deze plugin. Anders worden aangepaste instellingen overschreven door de standaardinstellingen, zoals hier aangegeven: Topic:Si6ituq6hmxb07xmDe 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 |
$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:
|
$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):
- Open het Google developer console
- Lees en accepteer de voorwaarden
- Maak uw eerste project aan
- Ga naar APIS & AUTH
- Ga naar APIs en schakel Google+ API in (lees eerst de voorwaarden en accepteer die)
- Ga naar Credentials
- Klik in de sectie OAuth op Create new Client ID
- Selecteer Web application als APPLICATION TYPE, bij Authorized JavaScript origins voer in uw domeinnaam (geen jokertekens of mappen toegestaan!)
- 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
- 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).