簡體   English   中英

谷歌oauth失敗,在軌道omniauth未經授權401

[英]google oauth fails with 401 unauthorized in rails omniauth

我正在嘗試使用設計和omniauth與谷歌oauth2進行身份驗證。 我按照omniauth文檔中的規定虔誠地設置回調,甚至使用相同的確切代碼。 https://github.com/plataformatec/devise/wiki/OmniAuth:-Overview

我將代碼上傳到github: https//github.com/kiranjulapalli/devisetest

我被重定向到登錄,當我選擇我的帳戶時,我再次被重定向到sign_in頁面。 我在這里錯過了什么?

這是日志:

Started GET "/users/auth/google_oauth2/callback?state=3baa394efe9c586b30fgfc05b1f618af04b7728d0d75c3c1&code=4/HxV9O
37jKYgxg10EWDntdfewZTz3.4kqevOMEweMTshQV0ieZDArQUdYefAI" for 127.0.0.1 at 2013-04-15 16:36:01 -0400
Processing by Users::OmniauthCallbacksController#google_oauth2 as HTML
  Parameters: {"state"=>"3baa394efe9c586b30fgfc05b1f618af04b7728d0d75c3c1", "code"=>"4/HxV9O
37jKYgxg10EWDntdfewZTz3.4kqevOMEweMTshQV0ieZDArQUdYefAI"}
  MOPED: 127.0.0.1:27017 COMMAND      database=admin command={:ismaster=>1} (2.0001ms)
  MOPED: 127.0.0.1:27017 QUERY        database=devisetest_development collection=users selector={"$query"=>{"email"
=>"myemailaddress@gmail.com"}, "$orderby"=>{:_id=>1}} flags=[:slave_ok] limit=-1 skip=0 batch_size=nil fields=nil
(0.9999ms)
Completed 401 Unauthorized in 24ms
#custom log statements
logger::Find if this user exists
logger::Return user
logger:Got call back
logger:User persisted

我的routes.rb文件:

Devisetest::Application.routes.draw do
  devise_for :users, :controllers => { :omniauth_callbacks => "users/omniauth_callbacks" }
  resources :users
  root :to => 'home#index'
end

您需要用戶在登錄前通過電子郵件進行確認。 (來自:確認參數在你的user.rb中設計)

您可以刪除:確認或通過rails控制台手動將值(例如Time.now)分配給user.confirmed_at。

您還應該在布局中的某個位置顯示flash [:notice],您會看到:“已成功通過Google帳戶進行身份驗證。您必須在繼續之前確認自己的帳戶。”

它看起來像: 使用新安裝的Rails + Devise獲得401 Unauthorized是一個類似的問題。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM