Extension:GoogleLogin/tr

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.36+
 * MySQL/MariaDB (PostgreSQL veya SQLite desteği yok)
 * PHP 7.3+
 * Google Geliştirici Erişimi
 * Web Uygulaması için API Kimlik Bilgileri (İstemci Kimliği ve İstemci Sırrı)
 * çalıştırabilir

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

Google Geliştirici Konsolu'ndaki ayarlar
Bu uzantıyı kullanmak için bir Google geliştirici hesabına ve geliştirici konsoluna erişiminiz olmalıdır. Bu, adım adım çok basit bir kılavuzdur (ayrıca Google'ın yardım sayfasına bu konuda bakın):


 * 1) Google geliştirici konsolunu açın
 * 2) Hizmet şartlarını okuyun ve kabul edin
 * 3) İlk projenizi oluşturun
 * 4) API'ler ve hizmetler gidin
 * 5) + KİMLİK BİLGİLERİ OLUŞTUR tıklayın
 * 6) OAuth istemci kimliği seçin
 * 7) Web application olarak APPLICATION TYPE olarak seçin, Authorized JavaScript origins olarak alan adınızı yazın (joker karakterlere ve dizinlere izin verilmez!)
 * 8) 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üne MediaWiki yüklediyseniz, yönlendirme URI'si aşağıdaki gibidir: https://example.com/index.php/Special:GoogleLoginReturn
 * 1) Oluştur'a tıklayın ve Client ID ve Cliend Secret ile LocalSettings.php içindeki yapılandırma değişkenlerine kopyalayın

"Special:GoogleLoginReturn" özel sayfası
Google geliştirici konsolunda izin verilen yönlendirme URI'sı içerik dilinde olmalıdır. Bu nedenle, vikiniz içerik dili olarak Almanca olarak ayarlandıysa,  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 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

"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:

The name of the special page must be in the wiki's content language. If your wiki was e.g. set to German as the content language, then use. In case you used the wrong language, all authentication requests will fail and redirect you to "Special:Login".

Vikide izin verilen etki alanlarını yönetin
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 ( 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  yapılandırma değişkenini   olarak ayarlamanız yeterlidir. Ayrıca yeni  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:

Şimdi, gerekli veritabanı değişikliklerinin veritabanınıza uygulanması için  betiğini yeniden çalıştırmanız gerekir. Güncelleme işlemi tamamlandıktan sonra, vikinizde  ö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.

Configuration parameter "$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.

Automatic account creation
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  yapılandırmasında bryaz listeye eklenmesi gerek
 * Hesapların otomatik oluşturulması etkinleştirilmelidir:
 * GoogleLogin yetkili modunun etkinleştirilmesi gerekiyor
 * The @ sign needs to be whitelisted in the  configuration and adapt  accordingly, e.g.
 * Autocreation of accounts needs to be enabled:
 * The GoogleLogin authoritative mode needs to be enabled:

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.
 * If a local wiki account is already connected, this account is used to login, which means that an already existing account takes precedence over creating a new one.
 * The newly created account will automatically be linked with the Google account.
 * GoogleLogin will not let a user add or remove any further Google account connections (or the automatically created link) to prevent a user from being not able to login anymore.
 * GoogleLogin does not add a password during the account creation, if the authoritative mode is disabled and password login shall be enabled again, the user needs to reset their password.

Manual account creation
Google Login also supports a variant of the so called authoritative mode, in which, when configured, a user account is still manually created by the respective user but automatically mapped to the Google account, which was used when creating the account, if it is not already associated with a local MediaWiki account. Moreover only permissive Google accounts can register an account manually. Note that the special pages need to be added in the wiki language. Enabling manual account creation has the same influence as automatic account creation does (see above), however with the following difference:
 * Creation of accounts needs to be enabled (also for private wikis):
 * If on a private wiki the following pages need to be accessible by everybody, e.g. for English language wikis:
 * If on a private wiki the following pages need to be accessible by everybody, e.g. for English language wikis:
 * The primary authentication provider needs to be disabled, i.e. set
 * If a local wiki account is already connected, an additional new account cannot be created manually, which means that an already existing account takes precedence over creating a new one.

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