Extension:GoogleLogin/PreAuthManager

This page is a translated version of the page Extension:GoogleLogin/PreAuthManager and the translation is 100% complete.
Other languages:
Deutsch • ‎English • ‎Nederlands • ‎Türkçe • ‎español • ‎polski • ‎português • ‎português do Brasil • ‎русский • ‎日本語
MediaWiki manüel uzantıları
OOjs UI icon advanced.svg
GoogleLogin
Sürüm durumu: beta
GoogleLogin-Screenshot.PNG
Uygulama Kullanıcı kimliği , Özel sayfa
Açıklama Google hesabı ile giriş sağlar (Google API kullanarak)
Yazar(lar) Florian Schmidt (Florianschmidtwelzowmesaj)
En son sürüm sürüm yaşam döngüsüne bakın (2015-04-23)
MediaWiki sürüm yaşam döngüsüne bakın
PHP 5.3+ (since 0.4.0: 5.5+)
Veritabanı değişiklikleri Evet
Lisans MIT Lisansı
İndir
Extension:GoogleLogin/Changelog
  • $wgGLAPIKey
  • $wgGLAllowedDomainsStrict
  • $wgGLAppId
  • $wgGLAllowedDomainsDB
  • $wgGLAuthoritativeMode
  • $wgGLSecret
  • $wgGLEnableEchoEvents
  • $wgGLAllowedDomains
  • managegooglelogin
  • managegooglelogindomains
Translatewiki.net adresinde mevcutsa, GoogleLogin/PreAuthManager uzantısını çevirin
Kullanım ve sürüm matrisini kontrol edin.
Sorunlar Açık görevler · Hata bildir
Bu sayfa, GoogleLogin uzantısını, desteklenen tüm MediaWiki sürümlerinde uygulanan yeni kimlik doğrulama sisteminden (AuthManager olarak da anılır) önce yüklenmiş ve kullanılmış gibi belgelerdir. Extension:GoogleLogin bu sürümü yerine kullanmalısınız.

GoogleLogin uzantısı, viki kullanıcılarının Google Hesapları ile giriş yapmalarına izin verir. Uzantı, kullanıcı verilerini istemek için Google API kullanır. Kullanıcı ilk kez oturum açtıysa, uzantı, Google e-posta adresi ve Google kullanıcı adı (veya verilen ad veya kendi adı) ile bir kullanıcı oluşturmaya izin verir.

Gereksinimler

Bu uzantıyı kullanmak için ihtiyacınız olan:

  • MediaWiki 1.23+ (v0.2.0 ve üzeri sürümler için en az MediaWiki 1.24'e ihtiyacınız var)
  • MySQL (şimdilik PostgreSQL veya SQLite desteği yok!)
  • PHP 5.3+
  • Google Geliştirici Erişimi
  • Google+ API erişimi
  • Web Uygulaması için API Kimlik Bilgileri (İstemci Kimliği ve İstemci Sırrı)
  • 0.3.1 sürümüne kadar olan sürüm v0.2.1, Extension GoogleAPIClient[1], aksi takdirde yalnızca composer update çalıştırın.

Kurulum

  • Dosyaları indirin ve extensions/ klasörünüzdeki GoogleLogin adlı dizine yerleştirin.
  • LocalSettings.php dosyanızın altına aşağıdaki kodu ekleyin:
    require_once "$IP/extensions/GoogleLogin/GoogleLogin.php";
    
  • 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
  • ./wiki/extensions/GoogleLogin/cache rootun 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

Tüm ayarların bu eklenti için eklenen "require_once" yönergesinin altında yer aldığından emin olun. Aksi takdirde, özel ayarların üzerine burada belirtildiği gibi varsayılan ayarlar yazılacaktır: Topic:Si6ituq6hmxb07xm

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ın).

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

Ek Yapılandırma parametresi

Yapılandırma değişkeni sürümünden Varsayılan değer Açıklama
$wgGLShowCreateReason[gerrit 1] v0.1.1 (0.4.0 sürümünde kaldırıldı) false Doğruysa, hesap günlüğü girişi oluşturmaya neden olarak GoogleLogin üzerinden ekler.
$wgGLAllowedDomains[gerrit 2] v0.1.1 '' GoogleLogin ile kullanılmasına izin verilen bir dizi e-posta etki alanı, ör. array('example.com');. Varsayılan: tüm alanlara izin verilir.
$wgGLAllowedDomainsStrict[gerrit 2] v0.1.1 false Yalnızca $wgGLAllowedDomains bir dizi ise gözlemlenir. True olarak ayarlanırsa, e-posta etki alanı izin verilen etki alanlarıyla (yalnızca TLD yerine) tamamen kontrol edilir, örneğin:

$wgGLAllowedDomainsStrict true ise ve example.com izin verilen bir alan adıysa "test.example.com" adresine izin verilmez.
$wgGLAllowedDomainsStrict false ise ve example.com izin verilen bir etki alanıysa "test.example.com" adresine izin verilir.

$wgGLShowKeepLogin[gerrit 3] v0.1.2 (0.4.0 sürümünde kaldırıldı) true Doğruysa, GoogleLogin için "oturumu açık tut" onay kutusu (Google ile Oturum Aç düğmesinden önce) görünür.
$wgGLAllowAccountCreation[gerrit 4] v0.1.2 (0.4.0 sürümünde kaldırıldı) $wgGroupPermissions['*']['createaccount'] Kullanıcının GoogleLogin ile bir hesap oluşturup oluşturamayacağını kontrol eder. Varsayılan olarak, oturum açmamış kullanıcılar için grup izinlerinin değeri kullanılacaktır.
$wgGLReplaceMWLogin[gerrit 4] v0.1.2 (0.4.0 sürümünde kaldırıldı) false True ise, MediaWiki Oturum iş akışı GoogleLogin ile değiştirilecektir. Şunu içerir:
  • Kişisel URL'lerde Oturum Açma Bağlantısı
  • Special:UserLogin yerine Special:GoogleLogin değiştirin
$wgGLForceKeepLogin[gerrit 5] v0.2.0 (0.4.0 sürümünde kaldırıldı) false Oturum açmaya devam et (bu, daha uzun oturumlar anlamına gelir) her zaman etkin olup olmadığını kontrol edin (kullanıcı günlük tutma kutusunu işaretlemese veya GoogleLogin MediaWiki'nin oturum açma bilgilerinin yerine geçse bile!)
Bu yapılandırma $wgGLShowKeepLogin üzerine yazmaz, ancak oturum açmaya devam et onay kutusunun değerinin üzerine yazacaktır, bu nedenle, karışıklığı önlemek istiyorsanız bu yapılandırmayı false olarak ayarladığınızdan emin olun.
$wgGLAPIKey[gerrit 6] v0.2.1 '' 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.
$wgGLShowRight[gerrit 7] v0.3.0 (0.4.0 sürümünde kaldırıldı) false True olarak ayarlanırsa, "Special:UserLogin" üzerindeki Google Giriş düğmesi formun sağ tarafına taşınacaktır.
$wgGLNeedsConfirmEmail[gerrit 8] v0.3.0 (0.4.0 sürümünde kaldırıldı) true Kullanıcının yeni bir yerel MediaWiki hesabı kaydolduktan sonra Google posta adresini onaylaması gerekip gerekmediği.

Google Geliştirici Konsolu'ndaki ayarlar

Bu uzantıyı kullanmak için bir Google geliştirici hesabına ve geliştirici konsoluna erişiminiz olması gerekir. Bu basit (çok basit!) Adım adım bir kılavuzdur (bunlarla birlikte resmi adım adım örnek Adım 1'i kullanın.):

  1. Google geliştirici konsolu açın
  2. Hizmet şartlarını okuyun ve kabul edin
  3. İlk projenizi oluşturun
  4. APIS & AUTH gidin
  5. APIs gidin ve Google+ API etkinleştirin (şartları oku ve kabul et)
  6. Credentials gidin
  7. OAuth bölümünde Create new Client ID tıklayın
  8. Web application ile APPLICATION TYPE, ile Authorized JavaScript origins alanınızı yazın (joker karakterlere ve dizine izin verilmez!)
  9. Aşağıdaki örnekte olduğu 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:GoogleLogin
  10. 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:Mit_Google_anmelden"

Google geliştirici konsolunda izin verilen yönlendirme URI'sı içerik dilinde olmalıdır. Bu nedenle, vikinizin içerik dili Almanca varsa, "Special:GoogleLogin" yerine "Spezial:Mit_Google_anmelden" yazın. Yanlış dili kullanırsanız, tüm Kimlik Doğrulama istekleri uri uyuşmazlığını yeniden yönlendirme ile 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 olabilir. Bu durumda, İstisna mesajının tamamını görmek için lütfen LocalSettings.php'de 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;

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

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

Yalnızca GoogleLogin üzerinden hesap oluşturmaya izin verin

MediaWiki'nin hesap oluşturma işlevini devre dışı bırakmak mümkündür. Normalde GoogleLogin de yeni bir hesap oluşturma seçeneği sunmaz. Bunu değiştirmek mümkündür, Kullanıcılar yine de GoogleLogin ile bir hesap oluşturabilir, ancak vanilya hesap oluşturma formu ile yapamaz. Bunun için LocalSettings.php dosyanızda aşağıdaki yapılandırma değişkenlerini ayarlamanız gerekir:

$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;

GoogleLogin'i ileride herhangi bir nedenle kaldırmak isterseniz, kullanıcılarınız yeni bir hesap kaydetmeden MediaWiki kurulumunuza yine de giriş yapabilir. GoogleLogin rastgele bir parola ile normal MediaWiki hesapları oluşturur. Kullanıcılarınızın Special:PasswordReset ile parolarını sıfırlamaları yeterlidir.

MobileFrontend <-> GoogleLogin çakışması (yalnızca $wgGLReplaceMWLogin = true; ve MediaWiki <= 1.26! ile)

MediaWiki sürümü:
1.25

Vikinizin mobil olarak optimize edilmiş bir sürümünü sağlayan uzantı olan MobileFrontend, $wgGLReplaceMWLogin ile true olarak ayarlarsanız (vanilya giriş formu ile giriş yapılmasına izin vermemek için) aslında GoogleLogin ile çakışır. MobileFrontend'in GoogleLogin'den sonra yüklenmesi durumunda (LocalSettings.php dosyanızda ki MobileFrontend'in require_once satırı GoogleLogin'den sonra), özel sayfa UserLogin (kullanıcı adı ve parola ile girişi yönetir) ilk kez GoogleLogin tarafından ve ikinci kez MobileFrontend tarafından (mobil cihazlar için optimize edilmiş bir giriş sayfası sağlamak için) üzerine yazılacaktır. Bu durumda, MobileFrontends Değiştirme kazanacak ve mobil kullanıcılar yine de kullanıcı adı ve parolalar ile oturum açabilir.

Aslında bu sorun, MobileFrontend'in MediaWiki sürüm 1.26'da (görev T74910 izleniyor) çözülmüştür. MediaWiki/MobileFrontend'in eski sürümleri için, Uzantıların yüklendiği sırayı değiştirmeniz gerekir.LocalSettings.php dosyanızda MobileFrontend’in require_once ve GoogleLogin yapılandırma satırlarını sonra bir yere koyun. Bu geçici çözüm, MobileFrontend'in sonraki sürümlerinden birinde kullanılmamalıdır.

Bu uzantı ne yapabilir

Veritabanı güncellemesiyle uzantı, viki kullanıcıları ve Google hesapları arasında gerekli bağlantıyı içeren prefix_user_google_user adında yeni bir tablo oluşturacaktır. Yalnızca Google Kullanıcı Kimliğini ve Viki Kullanıcı Kimliğini depolar.

Bir kullanıcı GoogleLogin özel sayfasını çağırırsa, Google tarafından depolanan bazı kullanıcı bilgilerine uygulamanıza erişim izni vermek için anında Google Kimlik Doğrulama isteğine yönlendirilir. Kullanıcı bu isteği kabul etmelidir (veya Google ile girişi kullanamaz). Kabul ettikten sonra, kullanıcı bir viki kullanıcısı olarak oturum açmamışsa, yeni bir hesap oluşturma olanağına sahiptir. Kullanıcı adı, Google kullanıcı adına ve verilen ada (eğer ücretsiz ve oluşturulabilirse) göre kendini seçebilir veya önerilerden birini seçebilir. Seçilen kullanıcı adı oluşturulabilirse (ücretsiz, geçerli ve engellenmemiş), kullanıcı adı ve e-posta adresi olarak Google-Mail ile yeni bir kullanıcı oluşturulur ve Google Hesabına bağlanır.

Kullanıcı oturum açtıysa (şu anlama gelir: zaten bir viki hesabı var) bu hesabı Google hesabına bağlayabilir, bunu kullanıcının yalnızca bir kez yapması gerekir. Bağlantı oluşturulursa, kullanıcı Special:Login üzerindeki Google ile Oturum Aç düğmesini tıklayarak oturum açabilecektir.

Viki hesabı ve Google hesabı bağlıysa, kullanıcı "Special:GoogleLogin" sayfasına giderse, hesabının ve Google hesabının bağlantısını kaldırabilir.

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.

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

Aşağıdaki tabloda, GoogleLogin uzantısının sürümlerini, GoogleLogin sürümünün kendisi için oluşturulduğu ilgili MediaWiki sürümünü ve hala desteklenip desteklenmediğini (ve ne zamana kadar) bulacaksınız. Çoğunlukla bir sürümün desteği karşılık gelen MediaWiki sürümünün yaşam döngüsü ile hemen hemen aynıdır.

Sürüm İlgili MediaWiki sürümü Durum Sürüm Hayatın sonu
0.4.x 1.28.x güncel sürüm 2016-06-18 Kasım 2017
0.4.0 1.27.x (LTS) güncel sürüm 2016-07-20 Haziran 2019
0.3.1 1.27.x (LTS) eski (0.4.0 ile değiştirilir) 2016-06-10 2017-07-20
0.3.0 1.26.x eski sürüm n/a Kasım 2016
0.2.1 1.25.x durduruldu n/a 2016-06-18
0.2.0 1.24.x durduruldu n/a 2016-06-18
0.1.3 1.23.x (LTS) durduruldu n/a 2016-06-18

Yukarıdaki tabloda yer alan ve "durduruldu" olarak işaretlenen sürümler herhangi bir düzeltme almayacaktır. Olası veri kaybı ve/veya bozulma tehdidi dahil olmak üzere kritik güvenlik açıkları ve diğer büyük hatalar içerebilirler. Geliştirici ayrıca, yukarıda güncel sürüm veya en azından eski sürüm olarak listelenen yalnızca sürümlerin güçlü bir öneride bulunmuştur. Eski sürümler, büyük olasılıkla, uzantının temel işlevselliğine zarar veren bildirilen hatalar için düzeltmeler alırken, mevcut sürümler, bildirilen hataların çoğu için düzeltmeler alır (temel işlevin bir parçası olmasalar bile). Yeni özellikler büyük olasılıkla yeni sürümlerin bir parçası olacaktır. GoogleLogin'in eski sürümlerine yedekleme özellikleri geliştiricilere bağlıdır.

Kaynakça

Gerrit Kod incelemesi