我目前正在使用rails后端构建iPhone应用程序。我在iphone上使用facebook的单点登录(SSO),并且在客户端上的身份验证效果非常好。我在rails上使用devise作为后端。
注意我已经咨询了Design for Facebook authentication in an iOS app that also accesses a secured web service
我看到devise有一个名为token_authenticable的东西,它本质上是该线程的第5步中描述的“ticket”。这是我看到的当前流程
这很简单。但是,我有几个问题:
答案 0 :(得分:1)
为什么不能使用omniauth-facebook gem。它是一个非常简单的解决方案来获取访问令牌,如果你使用设计它的潜力将加倍。确保您需要在不同的登录时间获得不同的访问令牌。
您可以浏览此链接 https://github.com/pramodv-nyros/social-login-in-rails
答案 1 :(得分:0)
您必须在服务器和ios客户端上使用相同的令牌。一个简单的解决方案是通过设备+ omniauth将所有逻辑放在服务器端,iOS仅处理来自服务器端的UI和响应。 如果你想从iOS获取令牌,比如使用facebook iOS SDK,你应该将令牌告诉服务器端,但看起来不安全。