簡體   English   中英

Rails上的OAuth(Twitter,Facebook,LinkedIn等)

[英]OAuth (Twitter, Facebook, LinkedIn, etc) on Rails

我想連接到那些提供OAuth API的應用程序(例如fb,twitter)。

是否有一種相對簡單的方法來集成這些API?

我已經成功使用了可以連接到LinkedIn OAuth API的linkedin gem。 但我真的不想安裝gem來處理單個應用程序,其中這些應用程序提供了類似的OAuth API。

自2010年10月以來,有人想出了一款名為OmniAuth的寶石。 它將許多不同的身份提供者打包到一個Rack中間件中。 它特別不處理授權或持久性 - 這取決於您。 它可能是目前最好的選擇,特別是如果你不打算使用經典的用戶名/密碼驗證(盡管OmniAuth可以處理它)。

OmniAuth將處理來自Facebook,Twitter,Google,LinkedIn,37Signals和Github的身份識別。 有關此帖子的完整列表,請參見下文。

由於這是Rack中間件,因此可以將其與DeviseAuthLogic一起使用。 由於它的模塊化,它應該很容易使用純粹的Restful-API Rails / Sinatra應用程序(沒有直接的HTML呈現),這些應用程序可以與流行應用程序交互,而不需要從Devise和AuthLogic中獲取額外的代碼。

入門的最佳教程是為Rails Rumble撰寫的關於快速啟動和運行身份驗證的博客文章: http//blog.railsrumble.com/blog/2010/10/08/intridea-omniauth

Ryan Bates還有一些關於OmniAuth的Railscast:

截至本帖子,這些是開箱即用的以下提供商(基於https://github.com/intridea/omniauth/tree/dc44c54d80ca0b49d1f63bbbf21165a7515fd41d

的OAuth / OAuth2用戶:

  • bitly
  • dailymile
  • DOIT
  • Dopplr服務
  • Evernote的
  • Facebook的
  • 四方
  • github上
  • goodreads
  • 谷歌
  • Gowalla的
  • 采訪Hyves
  • identica
  • Instagram的
  • Instapaper的
  • linked_in
  • 聚會
  • 味噌
  • mixi網
  • Netflix公司
  • smug_mug
  • sound_cloud
  • 37信號
  • trade_me
  • trip_it
  • 推特
  • type_pad
  • VIMEO
  • XAUTH
  • 雅虎
  • you_tube

OpenID登錄:

  • Google App(市場集成)
  • 通用OpenID

HTTP基礎:

  • 37信號篝火
  • 37 Signals Basecamp
  • 通用HTTP Basic身份驗證

企業:

  • 中央認證服務(CAS)
  • LDAP

其他:

  • Windows Live
  • Flickr的

如果您的應用中碰巧擁有現有的用戶身份驗證基礎結構,或者您只是不使用Authlogic (並且不想使用它), OmniAuth可能會幫助您。

https://github.com/intridea/omniauth

以下是一些可以幫助您入門的資源:

http://blog.railsrumble.com/blog/2010/10/08/intridea-omniauth

http://railscasts.com/episodes/235-omniauth-part-1

http://railscasts.com/episodes/236-omniauth-part-2

好吧,fb和twitter都是相當自定義的OAuth版本,所以我認為你最終需要每個應用程序都有一個寶石。 但!

Authlogic為open-id,twitter和facebook提供了一些不錯的插件。

AuthlogicConnect看起來適用於許多網站(Twitter,Facebook,LinkedIn,MySpace,Google,Yahoo)。 我目前正在使用Rails 3上的FB和Twitter。請務必遵循教程,因為有很多事情需要設置。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM