2016-03-20 20 views
6

當在Google Developers Console上創建Google API Oauth2.0憑據時,我選擇「Web應用程序」應用程序類型。Google Oauth2.0 Web應用程序的「授權重定向URI」必須以公共頂級域名(如.com或.org)結尾?

在「授權重定向URI」字段中,我可以使用http://127.0.0.1/callback,它在本地開發中對我很好。

但是當我想我的服務器上使用谷歌API的OAuth2.0憑證(假設99.99.99.99),我不得不使用http://99.99.99.99/callback作爲我的「授權重定向的URI」,但谷歌給我一個警告:

重新導向無效:http://99.99.99.99/callback必須以公共 頂級域名結尾(例如.com或.org)

除了到公共頂級域名綁定到我的服務器,我還能做什麼?

我在Django開發和利用oauth2client對付谷歌API的oauth2,所以在我的數據庫,其中有它的憑證價值有兩個表「oauth2_authentication_credential」,「oauth2_authentication_flowmodel」,我複製它們從我的本地斷絕,但它不起作用。

+0

如果您可以使用虛假域名,例如:yourrealdomain-localhost.com。將此域添加到Windows主機文件並使其尋找127.0.0.1因此,您可以在Google開發控制檯中輸入此域。 – vee

回答

9

附近有「授權重定向的URI」字段說明文字,清楚地指出,你不能使用公網IP地址:

授權的重定向URI

對於從Web服務器請求使用。此 是您的應用程序中用戶重定向到 後通過Google驗證的路徑。該路徑將附加 訪問授權碼。必須有一個協議。不能 包含URL片段或相對路徑。 不能是公開的IP 地址。

127.0.0.1沒有公網IP,但loopback,這就是爲什麼http://127.0.0.1/callback工作正常。 localhost也可以使用:http://localhost/callback

除了到公共頂級域名綁定到我的服務器,我還能做什麼?

您可以通過http://xip.io/免費使用DNS。因此對於IP 99.99.99.99使用http://99.99.99.99.xip.io/callback。它將被解析爲http://99.99.99.99/callback

+0

感謝回送和公共IP的解釋。我嘗試訪問http://99.99.99.99.xip.io(使用我的真實服務器IP重播99.99.99.99),然後返回一個頁面,文本爲「Welcome to nginx on Fedora!」,這不是服務器頁面,有什麼不對? – GoTop

+0

xip.io所做的就是將主機名(在這種情況下爲'99.99.99.99.xip.io')解析爲在該主機名中指定的IP地址,僅此而已。 「歡迎來到Fedora上的nginx!」是一個nginx默認登陸頁面。你有沒有將你的應用程序部署到服務器並進行配置?你在http://99.99.99.99看到你的應用程序嗎?如果您的應用程序可以在http://99.99.99.99訪問,那麼http://99.99.99.99.xip.io應該可以正常工作。 – polart

+0

我在我的服務器上使用CentOS 7和Nginx。我可以在99.99.99.99上訪問我的Django項目。根據你的建議,我發現頁面上的「歡迎使用Fedora上的nginx!」是我的Ngnix的404頁面。但是當我訪問99.99.99.99和99.99.99.99.xip.io時,我得到了不同的頁面,也許在我的Nginx配置文件中存在一些錯誤配置? – GoTop

相關問題