Extension:GoogleLogin/PreAuthManager/tr

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, aksi takdirde yalnızca  çalıştırın.

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

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
 * 1) Oluşturun ve Client ID ve Client Secret ile LocalSettings.php'deki yapılandırma değişkenlerine kopyalayın.


 * 1) Open Google developer console
 * 2) Read and accept the terms of service
 * 3) Create your first project
 * 4) Go to APIS & AUTH
 * 5) Go to APIs and enable Google+ API (read and accept the terms)
 * 6) Go to Credentials
 * 7) In Section OAuth click Create new Client ID
 * 8) Select as Web application as APPLICATION TYPE, as Authorized JavaScript origins type in your domain name (no wildcards and directories allowed!)
 * 9) Type in your Authorized redirect URI like this example:
 * If your domain is example.com and you have installed MediaWiki in Root of your domain, the redirect URI is as follows: http://example.com/index.php/Special:GoogleLogin
 * 1) Click create and copy the Client ID and Client Secret to the configuration variables in LocalSettings.php

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

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:

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  dosyanızda aşağıdaki yapılandırma değişkenlerini ayarlamanız gerekir:

If you want to remove the Login form of MediaWiki, too, you can set this configuration variable, too:

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 ve MediaWiki <= 1.26! ile)
Vikinizin mobil olarak optimize edilmiş bir sürümünü sağlayan uzantı olan MobileFrontend,  ile   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 ( 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 ( 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. 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. The user must accept this request (or they can not use the login with Google). After accepting, the user has the possibility, if they are not logged in as a wiki user, to create a new account. The username they can choose self or choose one of the suggestions, based on the Google user name and given name (if one s free and createable). If the chosen username is creatable (free, valid and not blocked), a new user with the username and the Google-Mail as e-mail-address will be created and linked to the Google Account.

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.