İyinet'e Hoşgeldiniz!

Türkiye'nin En Eski Webmaster Forum'una Hemen Kayıt Olun!

Kayıt Ol!

API kullanarak alt siteler yapma

Cassini

0
İyinet Üyesi
Katılım
21 Haziran 2005
Mesajlar
66
Reaction score
0
Konum
İstanbul
PHP'de API kullanarak başka sitelere kullanıcı bilgilerini vermek istiyorum. Örneğin API'den çağırılan bir fonksiyonla kullanıcıya ait üyelik bilgilerini alıp ekrana yazdırmak gibi.

Veri alma kısımlarını kafamda netleştirebiliyorum, bir class yazarak gerekli bilgileri XML veya JSON formatında çıktı vermek kolay. Ancak kullanıcı doğrulama işlemlerinde mantık yürütemedim. Örneğin ana sitede kullanıcı girişi yapmışken, alt sitelere girildiğinde orada kullanıcı girişi yapıp yapılmadığını nasıl algılayabilir? Ya da alt siteden kullanıcı girişi yapıldığında bilgilerin doğru olup olmadığı nasıl kontrol edilebilir?

Ekşi sözlük sitesinde üye olanlar varsa Sub-Etha diye bir bölüm var. Yapmak istediğim tam olarak öyle bir sistem oluşturmak. Geliştiriciler API kodlarını alarak kendilerine bir site kuruyorlar. Ekşi sözlük üyesiyseniz orada da üye olarak giriş yapabiliyorsunuz.

Bu konu hakkında bilgilerinizi paylaşırsanız çok sevinirim.
 

yagmayok

1
İyinet Üyesi
Katılım
25 Ocak 2005
Mesajlar
7,131
Reaction score
89
Bu üyelik kısmı kafanıza takılmasın oldukça basit işlemlerdir. Yazdıklarınızdan anladığım kadarıyla http://scripti.org/uyelik.scripti adresindeki sörnek scriptleri inceleyerek mantığını kolay bir şekilde kavrayabileceğinizi düşünüyorum.

Olaya şöyle de bir özet getirmek istiyorum. Form ile üyelik bilgilerini aldığınız kullanıcının bilgilerini veritabanı ile kontrol ettirirsiniz. Doğru ise işlem yapmaya devam ettirirsiniz yanlışsa zaten birşey yok. Doğru ise zaten doğru olduğunu bir şekilde kayıt altına alıyorsunuz. Bunu örneklerde çok rahat anlarsınız. Daha sonra diğer sayfalarda kayıt altına aldığınız bilgileri çağırıyorsunuz. Böylece giriş yapılıp yapılmadığı bilgisi ile sayfada işlemlere devam ediyorsunuz.

Mantık budur, dediğim gibi örneklerde zaten ne yapıldığını iyi bir şekilde kavrarsınız.
 

Angelo

0
İyinet Üyesi
Katılım
13 Aralık 2004
Mesajlar
9,603
Reaction score
111
Konum
AZ
Bu tarz API arayuzlerinde, kullanici ilk giris yapmaya calistiginda islem basarili ise ana site tarafindan bir session anahtari saglanir. Bu anahtar genelde belirli bir sure icin gecerlidir. Login olduktan sonraki API cagrilarinda bu session anahtarida gonderilmek zorunda olur ve boyle kullanicinin giris yapip yapmadigi kontrol edilir. Tabi bu anahtar, son kullanim tarihi ile birlikte ana sitenin sisteminde kayitli olur.
 

Cassini

0
İyinet Üyesi
Katılım
21 Haziran 2005
Mesajlar
66
Reaction score
0
Konum
İstanbul
Bu üyelik kısmı kafanıza takılmasın oldukça basit işlemlerdir. Yazdıklarınızdan anladığım kadarıyla http://scripti.org/uyelik.scripti adresindeki sörnek scriptleri inceleyerek mantığını kolay bir şekilde kavrayabileceğinizi düşünüyorum.

Olaya şöyle de bir özet getirmek istiyorum. Form ile üyelik bilgilerini aldığınız kullanıcının bilgilerini veritabanı ile kontrol ettirirsiniz. Doğru ise işlem yapmaya devam ettirirsiniz yanlışsa zaten birşey yok. Doğru ise zaten doğru olduğunu bir şekilde kayıt altına alıyorsunuz. Bunu örneklerde çok rahat anlarsınız. Daha sonra diğer sayfalarda kayıt altına aldığınız bilgileri çağırıyorsunuz. Böylece giriş yapılıp yapılmadığı bilgisi ile sayfada işlemlere devam ediyorsunuz.

Mantık budur, dediğim gibi örneklerde zaten ne yapıldığını iyi bir şekilde kavrarsınız.

Merak ettiğim şey tam olarak üyelik sistemi değil. Zaten hali hazırda üyelik sistemi olan bir siteye API eklentisi ile diğer sitelerden giriş yaptırmak istiyorum.

Angelo'nun söylediklerini tam olarak anlayamadım. Session anahtarı ile doğrulama yapılabilir demiş fakat, başka bir site üzerinden kullanıcı adı ve şifre girilip doğrulama yapılırsa, o site kullanıcının şifresini loglayabilir. Üyelik girişi facebook connect gibi pop-up ile ana site üzerinden post edilerek yapılması mantıklı olur sanırım. Bu şekilde 3. parti uygulamalara şifre girmiş olmazsınız. Ancak bundan sonraki geri dönüşü tam kestiremiyorum. Nasıl bir işlem yapmak lazım sizce?
 

Angelo

0
İyinet Üyesi
Katılım
13 Aralık 2004
Mesajlar
9,603
Reaction score
111
Konum
AZ
Kullanicilari login yapmak icin kullanacaksan ve sifreleri gormesini istemiyorsan, iframe, popup ile acacaksin. Facebook senin domainin uzerinden facebook'a Javascript cagrisi yapabilmek icin ozel bir dosya upload ettiriyor senin sunucuna. Bu sayede popup ile Facebook'a giris yaptiktan sonra tekrar eden senin sitenin sayfalarinda Javascript ile dogrulama yaptiriyor. Kullanici ile ilgili bilgileri gene dedigim gibi API uzerinden cekiyorsun, onun logini ve kontrol islemleri ayri. Senin dedigin popup sadece X kisisinin Y sitesini onaylamasindan ibaret. Bundan sonrasi Y sitesinin X kisisi ile ilgili islem yapmasi.
 

Cassini

0
İyinet Üyesi
Katılım
21 Haziran 2005
Mesajlar
66
Reaction score
0
Konum
İstanbul
Sitenin API ile login olup bilgileri almasında problem yok. Benim takıldığım nokta, ana sitenin bir üyesi, ana sitedeki üyelik bilgileriyle alt sitelere nasıl üye girişi yapabilir?

Bu işlem için JavaScript kullanmadan PHP ile basit bir kontrol yapmanın yolu yok mudur?
 

Angelo

0
İyinet Üyesi
Katılım
13 Aralık 2004
Mesajlar
9,603
Reaction score
111
Konum
AZ
İlk Sorunu anlamadım. Alt sitelere giriş yapabilmek için kullanıcı ve şifresini bir şekilde giriş yapmalı kullanıcı. Ya form açacaksın alt siteye, gelen veriyi PHP ile ana siteye gönderip yapacaksın. Alt sitedekiler parolamı çalar diyorsan, iframe/frame/pop açacaksın ana siteye orada giriş yapılacak, (X (alt sitesi) giriş yapmanızı istiyor diyecek). Session key atanacak kullanıcıya. Bundan sonraki sayfalarda Javascript ile o session_key kullanılarak ana sayfa ile bağlantı kurulacak. Bu Facebook Connect metodu.

Son Sorunun cevabına gelince, kullanıcının şifresini elle alt sitede girmesini istemiyorsan, sadece PHP ile yapmanın bi yolu yok.
 

Vi.ncent

0
İyinet Üyesi
Katılım
9 Ağustos 2010
Mesajlar
12
Reaction score
1
Soruyu umarım yanlış anlamamışımdır.

Twitter, MySpace gibi siteler OAuth kullanıyor. PHP için kullanabileceğiniz Framework'ler var. OAuth sitelere özgü bir şey değil, genel olarak kullanılan bir güvenlik sistemi.

Kısaca takip edilen yol şu:
- Uygulamanızı sisteme kayıt edersiniz
- API Key alırsınız
- Uygulamanıza eklersiniz
- Kullanıcı bu uygulamaya tıklar
- Tıklanan link, siteye gider ve kullanıcıya sorar: "Bu uygulama bilgilerinze ulaşmak istiyor" gibi
- Kullanıcı "Kabul" "Ret" diyerek işlemi sonlandırır yada bilgilerin onaylanması için onay verir
- Onay verdiğinde site bir PIN verir
- Bu PIN'i kullanıcı sizin uygulamanızdaki gerekli yere girer
- Uygulama bu PIN ve Uygulama Key'i ile site'den bir istekte bulunur
- Bu istek sonucunda sadece o kullanıcıya özel bir Key verir.
- Bu keyi site'den her istekte belirtmeniz/belirtmeleri gerekir.

Bilgi almak ve vermek için OAuth sistemi en güvenilir yöntem. Kullanıcı şifresini başka yerlere girmek zorunda kalmıyor. Yukarıda sıraladıklarım daha çok twitter üzerine.Daha fazla bilgi için: http://oauth.net/
 

Türkiye’nin ilk webmaster forum sitesi iyinet.com'da forum üyeleri tarafından yapılan tüm paylaşımlardan; Türk Ceza Kanunu’nun 20. Maddesinin, 5651 Sayılı Kanununun 4. maddesinin 2. fıkrasına göre, paylaşım yapan üyeler sorumludur.

Backlink ve Tanıtım Yazısı için iletişime geçmek için Skype Adresimiz: .cid.1580508955483fe5

Üst