Jump to content

Extension:GoogleLogin/PreAuthManager

From mediawiki.org
This page is a translated version of the page Extension:GoogleLogin/PreAuthManager and the translation is 91% complete.
Outdated translations are marked like this.
MediaWiki manüel uzantıları
GoogleLogin
Sürüm durumu: beta
Uygulama User identity, Special page
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
Quarterly downloads 53 (Ranked 83rd)
Translatewiki.net adresinde mevcutsa, GoogleLogin/PreAuthManager uzantısını çevirin
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.
  • MediaWiki 1.23+ (for version v0.2.0 and above you need at least MediaWiki 1.24)
  • MySQL (no PostgreSQL or SQLite support for now!)
  • PHP 5.3+
  • Google+ API access
  • API Credentials for Webapplication (Client ID and Client Secret)

Kurulum

  • Dosyaları indirin ve extensions/ klasörünüzdeki GoogleLogin adlı dizine yerleştirin.
    Developers and code contributors should install the extension from Git instead, using:cd extensions/
    git clone https://gerrit.wikimedia.org/r/mediawiki/extensions/GoogleLogin
  • 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
  • Yes 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 truse ise ve example.com izin verilen bir alan ise test.example.com ile izin verilmez.
$wgGLAllowedDomainsStrict false ise ve example.com izin verilen bir alan ise test.example.comile 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 Bağlantısı
  • Special:UserLogin yerine Special:GoogleLogin olarak 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.
  1. Google geliştirici konsolunu 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ı okuyun ve kabul edin)
  6. Credentials gidin
  7. OAuth bölümünde Create new Client ID tıklayın.
  8. Web application olarak APPLICATION TYPE olarak seçin, Authorized JavaScript origins olarak alan adınızı yazın (joker karakterlere ve dizinlere izin verilmez!)
  9. Bu örnekte olduğu gibi Authorized redirect URI'nizi yazın:
    Etki alanınız example.com ise ve alan adınızın Kök dizinine MediaWiki yüklediyseniz, yönlendirme URI'si şu şekildedir: http://example.com/index.php/Special:GoogleLogin
  10. Oluştur'a tıklayın ve Client ID ve Client Secret ile LocalSettings.php içindeki 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 içinde 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.

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

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 oturum açmayı kullanamaz). Kabul ettikten sonra, kullanıcı bir viki kullanıcısı olarak oturum açmadıysa, yeni bir hesap oluşturma olanağına sahiptir. Google kullanıcı adına ve verilen ada (ücretsiz ve oluşturulabilirse) göre kendilerinin seçebilecekleri veya önerilerden birini seçebilecekleri kullanıcı adı. Seçilen kullanıcı adı oluşturulabilirse (ücretsiz, geçerli ve engellenmemiş), kullanıcı adına ve e-posta adresi olarak Google-Mail'e sahip yeni bir kullanıcı oluşturulacak ve Google Hesabına bağlanacaktı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 Kasım 2017
0.4.0 1.27.x (LTS) güncel sürüm Haziran 2019
0.3.1 1.27.x (LTS) eski (0.4.0 ile değiştirilir)
0.3.0 1.26.x eski sürüm n/a Kasım 2016
0.2.1 1.25.x durduruldu n/a
0.2.0 1.24.x durduruldu n/a
0.1.3 1.23.x (LTS) durduruldu n/a

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