我們使用OAuth 1.0協議在Google Apps Marketplace上部署了多個應用程序。根據Google Platform中的OAuth 1.0期限,我們正嘗試將所有應用遷移到新的OAuth版本,但我們在向Google Admin SDK Directory API發送後臺請求時遇到了一些困難。如何模擬域以使用Oauth2訪問Google API Admin SDK?
在我們的應用程序中,我們需要請求域用戶帳戶,組和其他相關電子郵件域結構。在OAuth 1.0之前,我們一直使用2-LO(雙重綁定OAuth)來做這件事,所以基本上一旦管理員給我們訪問,我們就可以使用這種機制來模擬對域的請求。
在閱讀了所有有關Google API,Oauth機制和內容的Google文檔之後,也嘗試了一些代碼測試假設後,我們還沒有弄清楚如何管理OAuth 2的相同概念,原因如下:
使用Web服務器的Oauth 2策略根本不會因爲在那種情況下工作,我們會得到管理員SDK域用戶訪問。如果我們保留他們的訪問/刷新令牌對以便稍後查詢Admin SDK,並且由於域更改Admin,我們將從流中斷開。
我認爲在這種情況下最好的選擇是服務帳戶策略。這種情況下的問題是用戶必須根據Google的文檔域範圍的授權機構(https://developers.google.com/+/domains/authentication/delegation#create_the_service_account_and_its_credentials)在其管理控制檯中手動配置對應用的訪問權限。這對我們來說非常尷尬,因爲我們是以交互方式管理所有應用程序安裝,並且我們不想刪除用戶體驗設施。
最後,我的問題是:
- 有沒有辦法做的OAuth 2,無需人工用戶配置域的授權權限,全交互?
- 有沒有辦法做到這一點,而不需要用戶的電子郵件,這實際上是服務帳戶Oauth2策略中的參數之一?
- 我們是否必須爲此場景保留2-LO身份驗證,並僅爲安裝Google Marketplace部分執行OAuth 2?
任何意見或指導將是wellcome。
最佳,
謝謝您的快速回答。我會盡力這樣做。最好, – jproyo