2013-01-04 66 views
1

您好我正在嘗試在我的應用程序中集成devise和omniauth登錄。我與omniauth - 谷歌 - 的oauth2嘗試,我按照instrunctions在本教程中https://github.com/plataformatec/devise/wiki/OmniAuth%3A-Overviewdevise + omniauth-google-oauth2調用錯誤

我做的這一切,但我不斷收到一個谷歌的錯誤消息

Error: invalid_request 
Missing required parameter: client_id 
Learn more 
Request Details 
response_type=code 
scope=https://www.googleapis.com/auth/userinfo.email https://www.googleapis.com/auth/userinfo.profile 
redirect_uri=http://localhost:3000/users/auth/google_oauth2/callback 
access_type=offline 
approval_prompt= 
state=50665ea3f96dc12e2189e93e1bc40592fc35ce5167d462e0 
client_id= 

任何人可以幫助我嗎?

+1

檢查您是否正確設置APP_ID在'devise.rb'並重新啓動服務器('config.omniauth:google_oauth2, 「APP_ID」,「 APP_SECRET「,{access_type:」offline「,approval_prompt:」「}' – Baldrick

+0

我應該把實際的客戶端ID和訪問ID devise.rb或我應該有他們嗎?對不起我有點新的Rails – frank

+1

去https://code.google.com/apis/console/創建應用並獲取您的APP_ID和APP_SECRET值,如「Google OAuth2示例」中所述你的問題中的鏈接。 您還需要安裝此Gem https://github.com/zquestz/omniauth-google-oauth2 觀看以下2個railscast,您可能會發現一些幫助:http://railscasts.com/episodes/235- omn​​iauth部分-1; – Baldrick

回答

5

@ Baldrick的回答幫助我解決了這個問題。

確保

config.omniauth :google_oauth2, "APP_ID", "APP_SECRET", { access_type: "offline", approval_prompt: "" } 

是正確設置