设计omniauth-facebook redirect_uriurl必须绝对
当我尝试将gem "omniauth-facebook"
与设计集成时,我的Rails应用程序,我在facebook上收到以下错误: The redirect_uri URL must be absolute
。
以下是我的配置
devise.rb
config.omniauth :facebook, "ID", "SECRET",callback_url: "/auth/facebook"
我的user.rb模型:
class User [:facebook] def self.from_omniauth(auth) where(provider: auth.provider, uid: auth.uid).first_or_create do |user| user.email = auth.info.email user.password = Devise.friendly_token[0,20] user.name = auth.info.name # assuming the user model has a name user.image = auth.info.image # assuming the user model has an image end end end
我的路线:
devise_for :users, :controllers => {:omniauth_callbacks => "users/omniauth_callbacks"}
和控制器OmniauthCallbacksController
class Users::OmniauthCallbacksController :authentication #this will throw if @user is not activated set_flash_message(:notice, :success, :kind => "Facebook") if is_navigational_format? else session["devise.facebook_data"] = request.env["omniauth.auth"] redirect_to new_user_registration_url end end def failure redirect_to root_path end end
我在这里想念的是什么?
添加
:client_options => {:ssl => {:ca_file => '/usr/lib/ssl/certs/ca-certificates.crt'}}
初始化程序中的config.omniauth
为我解决了这个问题。
我还将path
配置为绝对如此:
callback_url: ENV['SERVER_ROOT']+'/users/auth/facebook/callback'
- 当我们按下我网站上的“赞”按钮时,如何确保有人成功“喜欢”我的网站?
- 如何使用Minitest测试OmniAuth的SessionsController
- 使用facebook图表,fb_graph或Koala ruby gem比facebooker2好吗?
- 处理Oauth 2.0-facebook gem error 100:已使用此授权码
- Facebook重定向url在ruby on rails上打开ssl错误
- 我需要从Facebook游戏中抓取数据 – 使用ruby
- Rails 5设计omniauth-facebook错误:抱歉,出了点问题
- Omniauth-Facebook回调不会在Rails可安装引擎中初始化
- Facebook登录OmniAuth错误更改被拒绝