2015-02-11 81 views
0

我正在用Devise Omniauthable替換Devise Database Authenticatable並使用Gi​​tHub OAuth策略。我希望GitHub OAuth登錄選項爲,只有一個可用。如何在使用Devise Omniauth和GitHub時爲Rails設置本地開發環境?

我成功地在我的本地開發環境中工作。我面臨的問題是在生產站點上啓動OAuth功能後,繼續在本地開發環境中開發附加功能。此時,我必須將授權回調URL設置從當前的http://localhost:5300/users/auth/github/callback更改爲實際的url到註冊的GitHub應用程序。

顯然,在這一點上,我的本地機器上的GitHub OAuth將停止工作。

我到處搜索,看看如何解決這個問題,但沒有運氣。

回答

0

我已經通過使用OAuth服務創建兩個應用程序來處理此問題。一個是生產應用程序,重定向到我的生產域,另一個是重定向到我的開發環境的應用程序。您可以稍後在開始使用臨時環境時添加第三個應用程序。

然後我在我自己的應用程序中使用app_key和app_secret_key中的環境變量,所以在開發環境中,我使用開發GitHub應用程序進行身份驗證,並且在生產環境中對生產GitHub應用程序進行身份驗證。

對於指定的端點,這是我發現的唯一解決方案。如果您可以爲重定向終端提供身份驗證請求,那麼您可以使用單個應用程序,但這通常不安全,而且此時不是常用功能。

+0

太棒了!謝謝邁克爾。這是一個明智和簡單的解決方案。我從來沒有想過這樣做。 – 2015-02-12 14:56:32