Twitter API ile Application-only Access Token Kullanımı

Twitter, kullanıcı hesaplarıyla birebir etkileşim sağlayan API endpoint’ler (örneğin tweet atmayı sağlayan statuses/update gibi) haricindeki işlemlerde kullanmanız için, Twitter uygulamanıza ait bir access token (bearer token) veriyor. Sadece bu token kullanılarak bir çok API işlemi yapılabilir. Bu sayede api rate limiti artırabiliriz. Örneğin tweet aramasında bir kullanıcaya ait access token ile 15 dakikada 180 api isteği yapabilirken, application token ile 450 istek yapabiliyoruz (limitler).

Aşağıdaki cURL komutu işe application access token’ınızı alabilirsiniz. consumerKey ve consumerSecret bilgilerinize uygulama detay sayfasından ulaşabilirsiniz.
Continue reading Twitter API ile Application-only Access Token Kullanımı

GitHub Web Hook ile Deployment

Git hosting olarak Github kullanılan projelerde, Github’a gönderilen her yeni commit’de bir web adresinin tetiklenmesini sağlayabilirsiniz. Service Hooks menüsü altında yer alan WebHook URLs sayfasından, kaynak kodda değişiklik olduğu zaman, önceden tanımlanmış adres(ler)e POST methoduyla, güncelleme bilgilerini içeren JSON-encoded data ile beraber istek gönderilir. Burada örnek içeriğini bulacağınız payload bilgisine bakarak isteğin Github’dan gelip gelmediğini kontrol edebiliriz.
Continue reading GitHub Web Hook ile Deployment

2-legged OAuth PHP İmplementasyonu

Şirket içinde geliştirilen bir uygulamaya hem web’den hem de native mobile uygulamalardan erişilmesi planlanmaktaydı. O nedenle API-Centric bir uygulama yapıp, tüm client’ların bu API üzerinden işlemlerini gerçekleştirmesine karar verdik. Güvenlik katmanında da 2-legged OAuth kullanmaktayız. Normal OAuth kullanımından farklı olarak 2-legged OAuth’da ziyaretçinin (resource owner) API’ye (source) izin vermesi gerekmiyor çünkü API’yi sadece kendi güvenilir client’ların (consumer) kullanması amaçlanıyor, bu nedenle uygulamaya ait client’ın yine kendisine ait API’yi kullanmak için izin alması gereksiz oluyor.
Continue reading 2-legged OAuth PHP İmplementasyonu