2010-09-21 34 views
12

gmail_xoauth taşını buldum, ki ihtiyacım olanın çoğunu yapıyor, ama aynı zamanda Rails3 içinden oauth tokenleri (consumer_key ve consumer_secret) oluşturmam gerekiyor.Rails3'te oauth'u kullanarak Gmail'in IMAP sunucusuna nasıl bağlanırım?

Gmail'in oauth entegrasyonunu siteme entegre etmeye çalışıyorum ve bu nedenle yukarıdaki geminin başvurduğu python komut dosyasını kullanamıyorum. Sitemin kullanıcıyı kimlik doğrulama sayfasına götürmesini ve consumer_key/secret tokenlarını çıkarmasını istiyorum.

OAuth'ta yeniyim, belki de eksik olduğum belli olan bir şey var.

GÜNCELLEME: Yukarıdakileri çözdüm ve ayrıntılarla birlikte bir blog yazısı yazdım (buraya sığmayacak kadar büyük olduğu için). http://blog.asif.in/blog/2012/03/03/google-oauth-and-rails/

+1

Ödül avcıları için: bu sorunun cevabı probally olarak oldukça ilgili olacaktır, bu yüzden tamamlanmışsa, blog yayınınıza bir bağlantı kabul edeceğim. Eminim herhangi bir doğru cevap, Sheikh sözlerinin ve https://github.com/pelle/oauth eklentisinin bir kombinasyonunu kullanacaktır. – SooDesuNe

+0

Bu, cevabın 1) erişim sağlayıcısından tüketici erişim izni alması gerektiği anlamına gelir 2) kullanıcı için uygun bilgileri saklamak 3) tüketici isteğini gmail'e yapma – SooDesuNe

+0

Bir şey daha, bir SMTP/IMAP (gönderme/alma) örneği son derece takdir edilecektir. – SooDesuNe

cevap

2

:

Bu

şu siteden bir Google Code örnek olduğunu. O, OpenID ve LDAP gibi diğer kimlik doğrulama/yetkilendirme protokollerinin yanı sıra OAuth için yapılması gereken temel protokol çalışmalarının çoğunu özetleyen/soyutlayan bir mücevher. Google’ın e-posta gönderme/alma ile ilgili API’nı iyi bilmiyorum, ancak kimlik doğrulaması ilk adımdır.

OmniAuth wiki'nin, OpenID ve Google Apps ile kullanımında çok iyi bir tutorial vardır, ancak bu IMAP söz konusu olduğunda tam olarak aradığınız şey olmayabilir. OmniAuth için kendi sağlayıcınızı yazmanız gerekebilir (bunun uygun olduğunu açıklayan iyi bir tutorial). Google ayrıca, IMAP ve OAuth yoluyla doğrulama/yetkilendirme için reference site sağlar. Bunun en alakalı kısmı büyük olasılıkla sayfa detailing the protocol olacaktır.

Bu yardımcı olur umarım!

+0

OmniAuth kullanmayı denedim ama benim için iyi çalışmadı. Google'ın örnek python kodunu Ruby'ye dönüştürerek ve uygun denetleyicileri ekleyerek çalışmayı başardım. Oldukça ilgili olduğu için, ayrıntılarla birlikte bir blog yazısı yazacağım. –

+1

OmniAuth ile hangi sorunun oldu? –

İlgili konular