ruby-on-rails – 来自Facebook的Access_token的Rails认证

我正在建立一个带有后端的iPhone应用程序.我在 iphone上单独使用Facebook的单点登录(SSO),并且身份验证在客户端很好地工作.我在铁路上使用设计作为后端. @H_404_2@注意我已经咨询了Design for Facebook authentication in an iOS app that also accesses a secured web service

@H_404_2@我看到这个设计有一个叫做token_authenticable的东西,它本质上是该线程的第5步中描述的“ticket”.这是我看到的当前流程

@H_404_2@>用户在手机上登录Facebook SSO
>用户通过{access_token:X}呼叫myserver.com/sessions/fb_sso
>在服务器端(在SessionsController#fb_sso,我将使用access_token进行API调用facebook
>如果access_token有效,请检查用户是否存在于db中.如果用户不存在,请创建一个新用户
>现在我们可以将{user_id:X,devise_auth_token:Y}返回到1)

@H_404_2@这很直接.但是,我有几个问题:

@H_404_2@>使用devise_auth_token,这是否意味着我不再需要从设计中调用sign_in(“user”,resource) (在这里找到http://jessewolgamott.com/blog/2012/01/19/the-one-with-a-json-api-login-using-devise/)
>哪里可以把代码放在3-4的最佳位置?
>我似乎没有在Google上发现这个话题.为什么这么少的教程在那里很常见?我错过了一些明显的事情吗?

解决方法

为什么你不能使用omniauth-facebook宝石.它是一个非常简单的解决方案来获取访问令牌,如果你使用devise,它的潜力会增加一倍.确保您需要在不同的登录时间获取不同的访问令牌. @H_404_2@你可以通过这个链接https://github.com/pramodv-nyros/social-login-in-rails

相关文章

validates:conclusion,:presence=>true,:inclusion=>{...
一、redis集群搭建redis3.0以前,提供了Sentinel工具来监控各...
分享一下我老师大神的人工智能教程。零基础!通俗易懂!风趣...
上一篇博文 ruby传参之引用类型 里边定义了一个方法名 mo...
一编程与编程语言 什么是编程语言? 能够被计算机所识别的表...
Ruby类和对象Ruby是一种完美的面向对象编程语言。面向对象编...