看來,谷歌一直在現代化的本機應用程序的OAuth交互爲宣佈開始在這裏 https://developers.googleblog.com/2016/08/modernizing-oauth-interactions-in-native-apps.html谷歌的OAuth 2.0安裝的應用程序和客戶端祕密不是祕密
,並就證明了他們目前的文檔頁面 https://developers.google.com/identity/protocols/OAuth2InstalledApp
我已經能夠成功地在引用的github倉庫中運行示例控制檯應用程序。
此流程使用客戶端密鑰和其他參數交換訪問令牌的授權代碼。然而,衆所周知(正如在參考文章中所述),客戶機密不能安全地存儲在已安裝的應用程序中。同一文章通過以下方式說明了這一事實:
該過程會生成客戶端ID,並且在某些情況下會生成客戶端密鑰,並將其嵌入應用程序的源代碼中。 (在這種情況下,客戶端機密顯然不是當作一個祕密。)
所以,如果這個流程是已安裝的應用程序推薦的流程,應該我們只是不擔心保護client_secret並嵌入它的權利在應用程序?如果是這樣,那麼這個流程如何呢?
另外,如示例所示,本地生成了一個隨機http重定向網址,該網址未在Google Developer Console的憑據頁面的任何位置註冊。這與Azure AD不同,您必須在註冊本機應用程序時明確重定向URI。