登录后有没有办法让facebook POST从他们的oauth对话框回到你的回复网址?
我正在开发一个Rails应用程序,用户可以在其中购买产品。为了购买产品,他必须通过创建请求来请求。该请求存储产品的ID,产品所有者的ID以及请求者的ID,只是为了将这三者相互关联。
所有这一切都通过一个表格发生,当然,这是通过邮寄请求发送的。
这是棘手的部分:用户必须登录才能发出请求。他们可以通过Facebook登录。在我的应用程序控制器中,我目前有以下方法来检查用户是否已登录:
def user_signed_in?
unless current_user # from other method
flash[:error] = "Please log in first."
redirect_to root_path and return false
end
true
end
helper_method :user_signed_in?
我想将root_path
更改为facebook auth对话框网址。目前,我有以下内容:
def user_signed_in?
unless current_user
raise "https://www.facebook.com/dialog/oauth/?client_id=#{ENV['FACEBOOK_APP_ID']}&redirect_uri=#{request.url}&scope=#{User::BASIC_PERMISSIONS}"
redirect_to "https://www.facebook.com/dialog/oauth/?client_id=#{ENV['FACEBOOK_APP_ID']}&redirect_uri=#{request.url}&scope=#{User::BASIC_PERMISSIONS}" and return false
end
true
end
到目前为止,一切正常 - 登录后,facebook会将我重定向到正确的网址。但是,重定向必须通过post请求发生,否则将不会创建Request记录。 facebook支持吗?理想情况下,我的帖子参数不会在途中丢失吗?我已就此事检查了facebook's documentation并搜索了网络,但找不到任何内容。