omn​​iauth用于rails和ios身份验证

Pet*_*ola 8 facebook ruby-on-rails devise ios omniauth-facebook

我有一个rails应用程序来处理iOS客户端的api.我使用devise,omniauth-facebook for rails.对于iOS客户端,我使用帐户和社交框架进行facebook身份验证.我已经抓住oauth令牌并通过omniauth回调将其传递给rails进行身份验证,但我收到了此错误.有人可以指导我做错了什么吗?下面是我得到的日志.

Started POST "/users/auth/facebook/callback" for ::1 at 2015-01-12 10:59:22 +0800 I, [2015-01-12T10:59:22.928323 #99294] INFO -- omniauth: (facebook) Callback phase initiated. E, [2015-01-12T10:59:22.929737 #99294] ERROR -- omniauth: (facebook) Authentication failure! no_authorization_code: OmniAuth::Strategies::Facebook::NoAuthorizationCodeError, must pass either a code (via URL or by an fbsr_XXX signed request cookie) Processing by Users::OmniauthCallbacksController#failure as / Parameters: {"access_token"=>"tokenFromACFBiOS"} Redirected to localhost:3000/users/sign_in Completed 302 Found in 4ms (ActiveRecord: 0.0ms)
Run Code Online (Sandbox Code Playgroud)

这是我的iOS和后端代码的要点.https://gist.github.com/chocnut/ae6f415accd95c8ef415

Agu*_*ico -1

当您创建 facebook(fb) 应用程序时,您应该指出 url 回调位于何处,可能您在 fb 中将其设置为:http://localhost:3000/bla/bla如果您在自己的计算机中测试,但能够在 ios 设备中测试,则效果很好你应该更改localhost为你的机器的IP(例如192.168.1.1)