2013-07-13 61 views
2

我們製作了一個CMS,允許用戶通過連接器連接到Google Analytics。我正在將此連接器移植到OAuth2,並且想知道我需要註冊哪種應用程序。我要註冊一個可以在任意URL上運行的Web應用程序的應用程序?

問題是CMS由我們的客戶端安裝在任意的URL,所以我們不知道我需要註冊一個Web服務器應用程序的整套重定向URL。 Google的OAuth不會讓我重定向到授權請求期間傳入的任意URL?

會註冊已安裝的應用程序,然後使用urn:ietf:wg:oauth:2.0:oob特殊重定向URI是最好的嗎?看起來像這樣允許用戶將他們的授權代碼從瀏覽器複製/粘貼回我們的應用程序。

在此先感謝!

回答

1

事實上,安裝的應用程序將允許用戶複製和粘貼,而不是註冊。如果客戶端是應用程序的最終用戶,並且沒有說將其配置爲插件,然後該插件將向客戶端的用戶提供Web服務(此時將通過OAuth2同意對話框提示這些用戶),那麼這很合適。在後一種情況下,您可能想要讓客戶將自己的網站註冊爲Google的Web應用程序,並使用CMS應用程序的配置工具設置客戶端的重定向URL。

爲什麼區別?因爲在第一種情況下,同意行動是關於你與客戶的關係,但在後一種情況下,它表達了你的客戶和他們的用戶之間的信任。例如,您不希望您的CMS應用程序因濫用而被禁用,因爲它會影響您的所有客戶。但是,如果您中介了您的同意書,Google就很難理解這種區別。

+0

需要說明的是,本例中的「客戶端」是我們的最終用戶正在授權的應用程序本身。它用於將一些Google Analytics數據導入到我們的CMS應用程序中。我沒有考慮讓每個客戶都向Google註冊我們的應用程序。老實說,這可能是更多的工作,而不是價值。因爲該應用正在按照我們確定的時間表對所有API進行調用,所以我認爲我們仍然有理由在開發者帳戶下維護該應用。 – Bradley

+0

另外,我們發現其他使用OAuth2的API並不像限制性那樣將用戶重定向到授權後的位置。例如,在Twitter上,我們根據客戶運行我們的應用程序的URL,以編程方式在授權請求中設置重定向URI。我很好奇Google爲什麼不允許我們對重定向URI做同樣的事情。 – Bradley

+0

確實,考慮到您的答案,我認爲您可以要求您的客戶註冊並將URL粘貼到其配置中。我們不允許redirect_uri註冊的靈活性的原因是爲了防止令牌泄漏的安全性。 – breno

相關問題