代码之家  ›  专栏  ›  技术社区  ›  PeterWong

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

  •  10
  • PeterWong  · 技术社区  · 14 年前

    我想连接到那些提供OAuthAPI的应用程序(比如fb、twitter)。

    有没有相对容易的方法来集成这些api?

    我已经成功地使用了linkedin gem,它可以连接到linkedin OAuth API。但我真的不想安装gem来处理单个应用程序,因为这些应用程序提供了类似的OAuth api。

    4 回复  |  直到 14 年前
        1
  •  4
  •   Community Dunja Lalic    7 年前

    好吧,fb和twitter都是OAuth的定制版本,所以我认为每个应用程序都需要一个gem。但是!

        2
  •  7
  •   Ho-Sheng Hsiao    13 年前

    自2010年10月以来,有人发明了一种名为OmniAuth的宝石。它将多个不同的身份提供者打包到一个机架中间件中。它并不专门处理授权或持久性——这由您决定。这可能是目前最好的选择,特别是如果您不打算使用经典的用户名/密码身份验证(尽管OmniAuth可以处理它)。

    OmniAuth将处理来自Facebook、Twitter、Google、LinkedIn、37Signals和Github的身份识别。请参阅下面的完整清单,截至本次发布。

    由于这是一个机架中间件,因此可以将其与 Devise AuthLogic

    最好的入门教程是为Rails写的博客文章Rumble on get authentication up and running quick: http://blog.railsrumble.com/blog/2010/10/08/intridea-omniauth

    Ryan Bates也有一些关于OmniAuth的铁路专家:

    截至发帖时,以下是现成的供应商(基于 https://github.com/intridea/omniauth/tree/dc44c54d80ca0b49d1f63bbbf21165a7515fd41d )

    OAuth/OAuth2:

    • 多伊特
    • 埃弗诺
    • github
    • 古德雷兹
    • 戈瓦拉
    • 海维斯
    • 等同
    • instagram
    • instapaper公司
    • 聚会
    • 味噌
    • 网飞
    • 自鸣得意的马克杯
    • 交易我
    • 绊倒它
    • U型垫
    • 维米欧
    • 泽斯
    • 雅虎
    • 你有管子吗

    开放ID:

    • 谷歌应用(市场整合)
    • 通用OpenID

    HTTP基本:

    • 37号营火信号
    • 37信号大本营

    企业:

    其他:

    • Windows Live
    • Flickr公司
        4
  •  3
  •   Daniel X Moore mcdon    14 年前