Extension:GoogleLogin/PreAuthManager
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 |
|
|
|
|
Quarterly downloads | 64 (Ranked 73rd) |
Translatewiki.net adresinde mevcutsa, GoogleLogin/PreAuthManager uzantısını çevirin | |
Sorunlar | Açık görevler · Hata bildir |
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 Developer Access
- Google+ API access
- API Credentials for Webapplication (Client ID and Client Secret)
- Version v0.2.1 until version 0.3.1 requires the Extension GoogleAPIClient[2], otherwise run
composer update
, only.
Kurulum
- Dosyaları indirin ve
extensions/
klasörünüzdekiGoogleLogin
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
- 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
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:Si6ituq6hmxb07xmUzantı, İ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:
|
$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:
|
$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.):
- Google geliştirici konsolu açın
- Hizmet şartlarını okuyun ve kabul edin
- İlk projenizi oluşturun
- APIS & AUTH gidin
- APIs gidin ve Google+ API etkinleştirin (şartları oku ve kabul et)
- Credentials gidin
- OAuth bölümünde Create new Client ID tıklayın
- Web application ile APPLICATION TYPE, ile Authorized JavaScript origins alanınızı yazın (joker karakterlere ve dizine izin verilmez!)
- 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
- Oluşturun ve Client ID ve Client Secret ile LocalSettings.php'deki yapılandırma değişkenlerine kopyalayın.
- Google geliştirici konsolunu açın
- Hizmet şartlarını okuyun ve kabul edin
- İlk projenizi oluşturun
- APIS & AUTH gidin
- APIs gidin ve Google+ API etkinleştirin (şartları okuyun ve kabul edin)
- Credentials gidin
- OAuth bölümünde Create new Client ID tıklayın.
- Web application olarak APPLICATION TYPE olarak seçin, Authorized JavaScript origins olarak alan adınızı yazın (joker karakterlere ve dizinlere izin verilmez!)
- 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
- 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