Twitter API ile javascript kullanma

4 Cevap php

Ben Adobe Air kullanarak bir twitter istemcisi, yapma ilgileniyorum, ama kimlik doğrulama ihtiyacı beri twitter REST API bağlanmak için daha iyi bir yol anlamaya olamaz gibi ben, şu anda biraz şaşırıp.

Şu anda, istemci GET değişkenleri (şifresiz) twitter kullanıcı adı / şifre ile (bir php script kıvırın kullanarak) benim sunucuya bir istek gönderir. Sunucu daha sonra bu kimlik bilgilerini kullanarak twitter istekte ve istemciye geri gönderilen alır tampon, daha sonra süreçler / görüntüler onu verir.

Bu tabii ki bunu herkes bunu yapmanın daha iyi (daha güvenli) yol biliyor, korkunç bir güvenlik açığı olduğunu?

FYI: jQuery kullanıyorum.

4 Cevap

Orada birkaç Base64 Kodlama araçları vardır. Siz bunlardan birini kullanabilirsiniz. Sen Basic Auth özellikleri dayalı kodlanmış adı ve şifre ile bir başlık ekleyebilirsiniz

Burada istiyor tam olarak ne bir yazıdır. http://www.aswinanand.com/blog/2009/01/http-basic-authentication-using-ajax/. Base64 ostermiller.org bu kütüphane kullanarak kodlanmış

$.ajax({    
  'url': 'http://twitter.com/action/',
  'otherSettings': 'othervalues',
  'beforeSend': function(xhr) {
    xhr.setRequestHeader("Authorization", "Basic  " + encodeBase64(username + ":" + password)
  },
  sucess: function(result) {
   alert('done');
  }
});

Ben bir PHP proxy sunucusu ile benzer bir şey (app yani tek bir IP üzerinden rota istekleri gerekir beyaz liste olmadan izin verilenden daha fazla istekleri gerektirir) yaptığını düşünüyordum.

Benim fikrim sadece bir kez kullanıcı adı / şifre kombinasyonu göndermek ve ardından kullanıcıya gelecek istekler için kullanılan geçici bir oturum id atamak olmasıdır. Güvenli bir başlangıç ​​kullanıcı adı / parola gönderme biraz zor, bir tuz ile şifrelemek olabilir ama ben AIR uygulamaları koda için ne kadar kolay bilmiyorum. Başka bir seçenek SSL olabilir (ama ben hala nasıl çalıştığını tamamen emin değilim).

Burada olsa session id kavramı için bir adım-adım kılavuz:

  1. Kullanıcı AIR uygulaması Twitter kimlik verir.
  2. Kimlik bilgileri şifreli ve proxy sunucusuna gönderilir.
  3. Authentication tested at the proxy.
    • If successful a session is created and the id to use is returned.
      • Bu oturumda bir son kullanma tarihi / saati içerir ve sadece tek bir IP tarafından kullanılan olabilir unutmayın.
    • Başarısız bir hata müşteriye iade edilir.
  4. Client stores session id and uses it in future requests in place of the username/password.
    • Örneğin request.php?action=get&data=friends_timeline&sessid=a3ajh83bah35nf
    • Oturum zaman aşımı süresi her güncellemede uzatıldı.
  5. Uygulamanın dışında kullanıcı işaretleri bir kill mesajı vekil gönderilir ve oturumu geçersiz olduğunda.

Eğer Spaz bir göz atmalısınız. http://funkatron.com/spaz - bu Air için javascript ile yazılmış açık kaynak kodlu bir Twitter istemcisi olan. Kaynak Google Code mevcuttur. http://code.google.com/p/spaz/

Ben kaynağında o kadar bakmadım, ama bazı unsurlar Flash / Flex yazılmış edilmiştir görebilirsiniz. Ben ancak app kullanıyorum, ve bu sadece çalışır.

Bu sizin için yararlı olacağını umuyoruz.

Ada JavaScript ile yazılmış bir Adobe Air Twitter istemcisi. Bunu ne bir fikir almak için indirebilirsiniz:

http://madan.org/ada

Ada için kod GitHub üzerinde:

http://github.com/sfsam/ada/tree/master

Ada Base64 kullanır. Ada hakkında güzel bir şey kod tabanı gerçekten küçük o yüzden tüm anlamaya muktedir olmasıdır.