【发布时间】:2014-05-28 02:40:11
【问题描述】:
我一直在研究为使用 rails-api 的纯 JSON rails 4.1 应用程序实现 facebook、twitter 和电子邮件/密码身份验证的最佳方法。 rails 应用程序没有视图,仅在 android 和 iphone 应用程序混合原生应用程序之间提供 JSON(它们使用 ionic 框架,这是一个编译成原生应用程序的角度应用程序)。
过去我已经实现了基本身份验证,其中 auth_token 从客户端应用程序的标头中传递到 Rails API,使用内置 auth 的 rails 没有问题,但因为这次我需要与 Facebook 和 Twitter 集成我'我正在寻找利用 oauth 的解决方案。
我已经研究过设计,但它似乎不能很好地与纯 JSON api 配合使用。同样,omniauth 似乎依赖于视图和重定向。此外,opro 和 doorkeeper 似乎很适合成为您自己的 oauth 提供者,但我看不出他们如何处理 facebook 和 twitter 等第三方。
人们如何在 Rails 中为纯 JSON API 应用程序实现多提供者 oauth 身份验证?
【问题讨论】:
-
我希望我能给你超过 1 个支持 :)。这正是我也有的问题。每个人都在谈论令牌认证,但没有人谈论如何进行 3rd 方认证。我当前的解决方案是客户端重定向到我的 API,我使用 OmniAuth 进行身份验证,将身份验证令牌存储在 cookie 中,然后重定向回客户端。但这很有效,因为我唯一的客户端是浏览器,我意识到我希望它更通用。对不起,没有真正帮助:)
-
@John 嘿,你最后是怎么实现认证的?
-
@PaulFitzgerald 开源了它github.com/johnkelly/heavenly。基本上是 facebook auth 认证后成为 token auth。
标签: ruby-on-rails mobile ruby-on-rails-4 facebook-oauth rails-api