ruby-on-rails - Facebook:oauth 回调后留在 Canvas 中

标签 ruby-on-rails facebook facebook-graph-api oauth facebook-canvas

我正在开发一个使用 facebook 和 oauth 的应用程序。该应用程序位于 facebook Canvas 内,身份验证在服务器端完成。该应用程序是使用 Ruby on Rails 3.2 完成的,使用 Koala 处理 api(并使用 mongodb 作为后端,这是值得的),并托管在 heroku 上。

因此,我提供 heroku url 作为回调的 redirect_url。这使得用户在身份验证后离开 Canvas ,好吧,我希望它留在里面。我阅读了一些关于此的主题,建议我在身份验证完成后使用 js 重定向到 Canvas url。我这样做了,但现在看来我的 session token 从未设置过,并且用户每次尝试查看非公共(public)页面时都会通过身份验证流程(这意味着他在欢迎页面上循环,有一个“不可见”每次都和 facebook 交流)。

我真的不明白我在这里做错了什么,所以欢迎任何帮助。如果您需要更多信息,请询问。

感谢您的宝贵时间!

最佳答案

所以我发现我的问题是什么:我的 Canvas 指向的页面是一个“公共(public)”页面,并且没有处理任何与身份验证相关的事情,这意味着它没有解析 signed_request 或任何东西别的。我最终为负责处理 signed_request 逻辑的 Canvas 设置了一个特殊端点,现在它可以正常工作。

关于ruby-on-rails - Facebook:oauth 回调后留在 Canvas 中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10277358/

相关文章:

ruby-on-rails - rails 4 many to many through join model, undefined method 'name' for :NilClass, sqlite3

ruby-on-rails - Ruby 守护进程不会在系统启动时执行

ruby-on-rails - Mongoid 和 counter_cache 列

javascript - 在函数外部获取 Facebook 访问 token

ruby-on-rails - 更新旧记录而不是创建新记录?

Facebook API : a strange query error 601

Facebook Graph API Get feed/posts 缺少墙贴

javascript - 是否可以实现 'Continue as {Facebook user name}' 按钮?

facebook - 单击 Facebook 登录按钮后重定向,即使已经登录 Facebook

facebook - 是否可以通过请求 header 传递 Facebook Graph API 访问 token ?