Extension:GoogleLogin

This page is a translated version of the page Extension:GoogleLogin and the translation is 100% complete.
Other languages:
Deutsch • ‎English • ‎Türkçe • ‎français • ‎português do Brasil • ‎中文 • ‎日本語
MediaWiki manüel uzantıları
OOjs UI icon advanced.svg
GoogleLogin
Sürüm durumu: beta
Googlelogin.PNG
Uygulama Kullanıcı kimliği , Özel sayfa
Açıklama Google hesabınızı oturum açmanızı sağlar.
Yazar(lar) Florian Schmidt (Florianschmidtwelzowmesaj)
En son sürüm 0.4.0-git
MediaWiki 1.31+
PHP 5.6+
Veritabanı değişiklikleri Evet
Lisans MIT Lisansı
İndir
README
  • $wgGLAPIKey
  • $wgGLAllowedDomainsStrict
  • $wgGLAppId
  • $wgGLAllowedDomainsDB
  • $wgGLAuthoritativeMode
  • $wgGLSecret
  • $wgGLEnableEchoEvents
  • $wgGLAllowedDomains
  • managegooglelogin
  • managegooglelogindomains
Uyumluluğa genel bakış için sürüm yaşam döngüsüne bakın
Translatewiki.net adresinde mevcutsa, GoogleLogin uzantısını çevirin
Kullanım ve sürüm matrisini kontrol edin.
Sorunlar Açık görevler · Hata bildir

GoogleLogin uzantısı, viki kullanıcılarının Google hesaplarıyla oturum açmalarına izin verir. Uzantı, Google'dan temel profil bilgilerini (hesap kimliği, tam ad ve e-posta adresi gibi) istemek için Google API'sini kullanır.

Gereksinimler

Bu uzantıyı kullanmak için en azından şunlara ihtiyacınız var:

  • MediaWiki 1.31+
  • MySQL (Şimdilik PostgreSQL veya SQLite desteği yok!)
  • PHP 5.6+
  • Google Geliştirici Erişimi
  • Web Uygulaması için API Kimlik Bilgileri (İstemci Kimliği ve İstemci Sırrı)
  • composer update --no-dev çalıştırabilir

Kurulum

  • Dosyaları indirin ve extensions/ klasörünüzdeki GoogleLogin adlı dizine yerleştirin.
  • Yalnızca git dizininden yüklerken, PHP bağımlılıklarını uzantı dizinine composer install --no-dev vererek yüklemek için Composer komutunu çalıştırın. (Potansiyel komplikasyonlar için görev T173141 sayfasına bakınız.)
  • LocalSettings.php dosyanızın altına aşağıdaki kodu ekleyin:
    wfLoadExtension( 'GoogleLogin' );
    
  • Bu uzantının ihtiyaç duyduğu gerekli veritabanı tablolarını otomatik olarak oluşturacak betik güncelleme komutunu çalıştırın.
  • Gerekli parametreleri yapılandırın
  • Web sunucusunun kullanıcısı için ./wiki/extensions/GoogleLogin/cache yazılabilir olduğundan emin olun
  •   Yapıldı – Uzantının başarıyla yüklendiğini doğrulamak için vikinizde Special:Version seçeneğine gidin.

Yapılandırma

Uzantı, İstemci Kimliğini ve İstemci Sırrını ayarlamak için iki yapılandırma değişkeni sağlar (bu çifti Google Geliştirici Konsolu'nda alırsınız, "<" ve ">" öğesini kaldırırsınız).

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

Ek Yapılandırma parametresi

Yapılandırma değişkeni Varsayılan değer Açıklama
$wgGLAllowedDomains[gerrit 1] '' GoogleLogin ile kullanılmasına izin verilen bir dizi posta etki alanı, ör. array( 'example.com' );. Varsayılan: tüm alanlara izin verilir. Ayarlanırsa, updatePublicSuffixArray.php bakım betiğini çalıştırmanız gerekir.
$wgGLAllowedDomainsDB[gerrit 2] false True olarak ayarlanırsa, GoogleLogin, bir Google hesabının birincil e-posta adresinin bir e-posta etki alanının oturum açmasına izin verilip verilmediğini kontrol etmek için veritabanını kullanır.
$wgGLAllowedDomainsStrict[gerrit 1] false Yalnızca $wgGLAllowedDomains bir dizi ise gözlemlenir. True olarak ayarlanırsa, e-posta alanı tamamen izin verilen alanlarla karşılaştırılır (yalnızca TLD yerine), örneğin:

$wgGLAllowedDomainsStrict doğruysa ve "example.com" izin verilen bir alan adı ise, "test.example.com" sitesine izin verilmez.
$wgGLAllowedDomainsStrict yanlışsa ve example.com izin verilen bir etki alanıysa, "test.example.com" sitesine izin verilir.

$wgGLAPIKey[gerrit 3] '' Genel API erişimi anahtarı. Yalnızca kullanıcının bir Google Plus profiline sahip olup olmadığını kontrol etmek için hizmetli işlemleri için kullanılır.
$wgGLAuthoritativeMode[gerrit 4] false GoogleLogin'in Yetkili modunu kontrol eder.
$wgGLEnableEchoEvents true

Google Geliştirici Konsolu'ndaki ayarlar

Bu uzantıyı kullanmak için bir Google geliştirici hesabına ve geliştirici konsoluna erişmeniz gerekir. Bu basit (çok basit!) bir adım adım kılavuzdur:

  1. Google geliştirici konsolunu açın
  2. Hizmet şartlarını okuyun ve kabul edin
  3. Create your first project
  4. APIS & AUTH gidin
  5. Credentials gidin
  6. OAuth bölümünde, Create new Client ID tıklayın
  7. Web application ile APPLICATION TYPE, ile Authorized JavaScript origins alanınıza yazarak seçin (joker karakterlere ve dizine izin verilmez!)
  8. Bu örneği gibi Authorized redirect URI yazın:
    Etki alanınız example.com ise ve etki alanınızın Köküne MediaWiki yüklediyseniz, yönlendirme URI'si aşağıdaki gibidir: http://example.com/index.php/Special:GoogleLoginReturn
  9. Oluşturun ve Client ID ve Client Secret ile LocalSettings.php'deki yapılandırma değişkenlerine kopyalayın.

"Special:GoogleLoginReturn" veya (Almancada örnek) "Spezial:GoogleLoginReturn"

Google geliştirici konsolunda izin verilen yönlendirme URI'sı içerik dilinde olmalıdır. Dolayısıyla, vikinizin içerik dili olarak Almanca varsa, Spezial:GoogleLoginReturn kullanın. Yanlış dili kullandıysanız, tüm kimlik doğrulama istekleri "uri uyuşmazlığını yeniden yönlendirme" hata koduyla başarısız olur.

Hata ayıklama

Normalde, hata mesajını tüm genel hata sayfalarında görebilirsiniz. Bazen İstisnalar adı verilen Dahili Hatalar vardır. Bu durumda, İstisna mesajının tamamını görmek için lütfen LocalSettings.php'ye "true" değeriyle $wgShowExceptionDetails ekleyin. Destek talebi için lütfen daima İstisna satırlarını sağlayın.

Özel bir vikide kullanın

Vikinizi özel olarak ayarladıysanız

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

"Special:GoogleLoginReturn" sayfasını beyaz listeye eklemeniz gerekir, böylece anonim kullanıcılar kimlik doğrulama sağlayıcısından yeniden yönlendirildikten sonra geri arama URL'sine erişebilir. Bunu, LocalSettings.php dosyanıza aşağıdaki satırı ekleyerek yapabilirsiniz:

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

Vikide izin verilen etki alanlarını yönetin

 
İzin verilen alanların listesini yönetmek için kullanıcı arayüzü.

GoogleLogin, Google ile girişi belirli e-posta adresi alanlarıyla (gmail.com, googlemail.com veya diğer her (kendi) etki alanı gibi) kısıtlamak için bir özellik sağlar. Bu özellik, özellikle kendi alan adlarını Google Apps ile kullanan şirketler için ilginçtir. Google ile oturum açmasına izin verilen etki alanlarının listesi LocalSettings.php'de ($wgGLAllowedDomains yapılandırma seçeneği) bir dizide yönetilir. 0.4.0 sürümünden bu yana, GoogleLogin ayrıca vikinin kendisinde izin verilen etki alanlarının listesini yönetmek için bir yol sağlar. İzin verilen alanlar, bu özellik etkinleştirildiğinde veritabanına kaydedilir ve bir grafik kullanıcı arabirimi (özel bir sayfa) veya MediaWiki API'si aracılığıyla değiştirilebilir (kaldır/ekle).

Not: Veritabanındaki etki alanlarının yönetimi etkinleştirildikten sonra, izin verilen etki alanlarının listesi artık LocalSettings.php'de yönetilemez.

Özelliğin veritabanında izin verilen etki alanlarını yönetmesini sağlamak için LocalSettings.php dosyanızda $wgGLAllowedDomainsDB yapılandırma değişkenini true olarak ayarlamanız yeterlidir. Ayrıca yeni managegooglelogindomains kullanıcı hakkını üyesi olduğunuz bir gruba atamak istiyorsunuz (bu kullanıcı hakkına sahip tüm kullanıcıların izin verilen alan adları listesini değiştirmesine izin verildiğini lütfen unutmayın, bu hakkı yalnızca hizmetli düzeyindeki bir gruba eklemeyi düşünün!). Örnek bir yapılandırma şöyle görünebilir:

$wgGLSecret = 'your-secret';
$wgGLAppId = 'your-app-id';
$wgGLAllowedDomainsDB = true;
$wgGroupPermissions['sysop']['managegooglelogindomains'] = true;

Şimdi, gerekli veritabanı değişikliklerinin veritabanınıza uygulanması için update.php betiğini yeniden çalıştırmanız gerekir. Güncelleme işlemi tamamlandıktan sonra, vikinizde Special:GoogleLoginAllowedDomains özel sayfasına gidebilirsiniz. Google hesaplarıyla oturum açmalarına izin verilen ve eklendikten sonra bunları kaldırabileceğiniz yeni etki alanları ekleyebileceğiniz bir sayfa alacaksınız.

$wgGLAPIKey

Bu yapılandırma seçeneği hala mevcuttur, ancak artık Special:ManageGoogleLogin özel sayfasından daha fazlası için kullanılmaktadır. Artık, kullanıcının doğru Google hesabını tanımlamasını kolaylaştırmak için Special:RemoveCredentials sayfasında bir kullanıcının adını almak için kullanılıyor (yalnızca Google kimliğini göstermek yerine). Anahtar doğru değilse veya sağlanmadıysa, GoogleLogin yalnızca Google kimliğini gösterecektir. İyi bir kullanıcı deneyimi için, bu API anahtarını şimdi sağlamanız şiddetle tavsiye edilir.

Yetkili modu

Google Login, etkinleştirildiğinde, oturum açmak için kullanılan Google hesabı halihazırda yerel bir MediaWiki hesabıyla ilişkilendirilmediğinde bir kullanıcı hesabının otomatik olarak oluşturulduğu yetkili modu destekler. Bu seçenek varsayılan olarak devre dışıdır ve bir yapılandırma seçeneğiyle etkinleştirilmesi gerekir. Ancak, bunu yapmadan önce lütfen aşağıdaki önemli bilgileri okuyun. Bu özellik, viki yapılandırmasının aşağıdakileri kesinlikle desteklemesini gerektirir:

  • GoogleLogin'in tek birincil kimlik doğrulama sağlayıcısı olması gerekir
  • @ işareti $wgInvalidUsernameCharacters yapılandırmasında bryaz listeye eklenmesi gerek
  • Hesapların otomatik oluşturulması etkinleştirilmelidir:

$wgGroupPermissions['*']['autocreateaccount'] = true;

  • GoogleLogin yetkili modunun etkinleştirilmesi gerekiyor

Bu özelliğin etkinleştirilmesi aşağıdaki etkilere de sahiptir:

  • Hesabın kullanıcı adı, Google'dan döndürülen bilgilerin birincil e-posta alanıdır. Bu yapılandırılamaz.
  • Yerel bir viki hesabı zaten bağlıysa, bu hesap oturum açmak için kullanılır; bu, zaten var olan bir hesabın yeni bir hesap oluşturmaya göre öncelikli olduğu anlamına gelir.
  • Yeni oluşturulan hesap otomatik olarak Google hesabına bağlanacaktır.
  • GoogleLogin, bir kullanıcının artık oturum açamamasını önlemek için bir kullanıcının daha fazla Google hesabı bağlantısı (veya otomatik olarak oluşturulan bağlantı) eklemesine veya kaldırmasına izin vermez.
  • GoogleLogin, hesap oluşturma sırasında parola eklemez, eğer yetkili mod devre dışı bırakılırsa ve parola girişi tekrar etkinleştirilirse, kullanıcının parolasını sıfırlaması gerekir.

Google API PHP İstemcisi

Bu uzantı, Apache 2.0 Lisansı altında dağıtılan Google API PHP İstemcisini (0.2.1'den önceki sürümlerde bulunur) kullanır. İstemci GitHub adresinden indirilebilir.

updatePublicSuffixArray.php

updatePublicSuffixArray.php bakım betiği, dünyada kullanılmak üzere geçerli olan alan adlarının bir listesini indirir. Bu, belirli etki alanları için GoogleLogin ile girişi kısıtladığınızda, GoogleLogin'in belirli bir e-posta etki alanının alt etki alanlarına izin vermesi için gereklidir. Bu, yalnızca $wgGLAllowedDomainsStrict false olarak ayarlanmışsa gereklidir (bu varsayılandır).

Sürüm yaşam döngüsü

Lütfen GoogleLogin'in yalnızca en son sürümünü desteklediğimi unutmayın. Mevcut sürüm (mevcut MediaWiki sürüm dalı anlamına gelir) ve mevcut geliştirme sürümü (ana olarak da bilinir) dışındaki sürümler artık desteklenmemektedir.

Kaynakça

Gerrit Kod incelemesi