我的omniauth facebook登录无法正常工作的原因是什么?

时间:2017-07-19 05:00:08

标签: ruby-on-rails ruby devise omniauth

我创建了一个facebook omniauth登录,但身份验证似乎不起作用。

首次登录后,网页更改为Facebook网页,似乎可以正常工作,但重定向由于某种原因返回到我的网页应用登录页面。当我再次点击登录按钮时,我的网络应用程序不会更改网页,而是停留在那里。

但是,我发现我的网址已更改为http://localhost:3000/users/sign_up#= 在我点击注册按钮后,我想知道我的应用程序发生了什么。

<%= link_to "Facebook sign in", user_facebook_omniauth_authorize_path %>是我登录的代码。

我的user.rb是

class User < ApplicationRecord
  # Include default devise modules. Others available are:
  # :confirmable, :lockable, :timeoutable and :omniauthable
  devise :database_authenticatable, :registerable,
         :recoverable, :rememberable, :trackable, :validatable,
         :omniauthable, :omniauth_providers => [: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]
    # If you are using confirmable and the provider(s) you use validate emails, 
    # uncomment the line below to skip the confirmation emails.
    # user.skip_confirmation!
  end
end
end

routes.rb是

Rails.application.routes.draw do
  devise_for :users, :controllers => { :omniauth_callbacks => "users/omniauth_callbacks" }
  devise_for :admins, path: 'admins'
  root 'home#index'
  get '/' => "courses#index", as: :user_root
    resources :courses, :lessons
end

我的服务器日志是:

Started GET "/users/auth/facebook" for 127.0.0.1 at 2017-07-19 12:23:43 +0900
I, [2017-07-19T12:23:43.560740 #16988]  INFO -- omniauth: (facebook) Request phase initiated.
Started GET "/users/auth/facebook" for 127.0.0.1 at 2017-07-19 12:23:43 +0900
I, [2017-07-19T12:23:43.693460 #16988]  INFO -- omniauth: (facebook) Request phase initiated.
Started GET "/users/auth/facebook/callback?code=AQD_R5wWm1l62YTZ0RwwruKmlCSoSHtUseMhG_aah_xpDLOWuupBN8giG6qVfIhHvfy8g-gfNtT4rAbZ8AfoWqgfNKRhzjihjibgyPayVlpvWPd_OGUY_q52B_K6w5YK-COk5wSHbyeYxc04MzQsXknD7x7oHbHHdF51I9QLkyKY_NwXFYVwadlZKUJgG_4mOm-bw76QDqLVbVDO8M7APKvmk3Aw4fyRj-71R2GsnVYN_jrDr1sz4zf47Ac5CQTa6R5480m59fZtgpups3W1p4cDIsAnZKZiXuOuFZQ_knIDEKrosH4MmSBRqmlKt900nb_VDnVAhY3WFx8lHIgERkSz&state=e45fcf66f73f4c827eae9dfba1130744b91262fd0422486a" for 127.0.0.1 at 2017-07-19 12:23:43 +0900
I, [2017-07-19T12:23:43.848249 #16988]  INFO -- omniauth: (facebook) Callback phase initiated.
Processing by Users::OmniauthCallbacksController#facebook as HTML
  Parameters: {"code"=>"AQD_R5wWm1l62YTZ0RwwruKmlCSoSHtUseMhG_aah_xpDLOWuupBN8giG6qVfIhHvfy8g-gfNtT4rAbZ8AfoWqgfNKRhzjihjibgyPayVlpvWPd_OGUY_q52B_K6w5YK-COk5wSHbyeYxc04MzQsXknD7x7oHbHHdF51I9QLkyKY_NwXFYVwadlZKUJgG_4mOm-bw76QDqLVbVDO8M7APKvmk3Aw4fyRj-71R2GsnVYN_jrDr1sz4zf47Ac5CQTa6R5480m59fZtgpups3W1p4cDIsAnZKZiXuOuFZQ_knIDEKrosH4MmSBRqmlKt900nb_VDnVAhY3WFx8lHIgERkSz", "state"=>"e45fcf66f73f4c827eae9dfba1130744b91262fd0422486a"}
  User Load (0.4ms)  SELECT  "users".* FROM "users" WHERE "users"."provider" = ? AND "users"."uid" = ? ORDER BY "users"."id" ASC LIMIT ?  [["provider", "facebook"], ["uid", "1332495676858509"], ["LIMIT", 1]]
   (0.1ms)  begin transaction
   (0.0ms)  rollback transaction
Redirected to http://localhost:3000/users/sign_up
Completed 302 Found in 140ms (ActiveRecord: 0.5ms)

有什么建议吗?

0 个答案:

没有答案