2

我正在編寫一個Python - Google App Engine應用程序。有這個應用程序必須做的2件重要的事情:Python GAE應用程序同時使用兩腳OAuth和三腳OAuth

  • 寫在用戶的日曆。
  • 寫在用戶的個人資料(與谷歌的Apps域用戶一起工作)

一是操作簡單。如果我瞭解OAuth,這是一種經典的三腳架方案。 OAuth最初開發的場景。登錄的用戶向客戶端(我的應用)提供憑據以代表他/她訪問用戶的數據(日曆)。所以,這可以通過記錄用戶的憑證來完成。

第二次操作並不那麼容易。只有登錄的用戶憑證才能完成。這是一種雙腿OAuth方案。因此,我需要在Google Apps域管理員帳戶中進行委派,才能使用Google個人資料API(通過Google數據庫)訪問用戶的個人資料。到目前爲止,我在一個json文件中硬編碼管理用戶/密碼,我的應用程序加載該文件。但這聽起來有點像對我來說。最後,我的應用需要處理經典的三腳OAuth場景(沒問題,只需要登錄用戶的憑證)加上兩腳OAuth場景(需要管理員憑據)。

是否有任何官方或更優雅的方式來處理Google App Engine中使用Google Apps域的兩種方案,即硬編碼管理憑證?

提前

回答

2

非常感謝據我所知是沒有辦法授權的寫操作使用模式OAuth谷歌聯繫人數據API。

Google's documentation specifies which APIs are accessible via 2-legged OAuth,但似乎有人在谷歌的忘了指定他們中的一些是隻讀的:-S

有些人有同樣的問題herehere

我期待着Google的人來解決這個問題。在此之前,對管理員級別憑據進行編碼是我知道的唯一選擇。我根本不喜歡它:這是有效。如果有人知道更優雅的禪宗水平的方式,請照亮我們!

+1

2012年4月[http://googledevelopers.blogspot.com/2012/04/changes-to-deprecation-policies-and-api.html]發佈了OAuth 1.0(或2-legged OAuth正如您一直提到的那樣)與使用傳統密碼(客戶端登錄)一樣不推薦使用,因此使用OAuth 2.0進行此操作符合您的最佳利益。我會盡力找到一個有用的解決方案。 – bossylobster

+0

感謝您的善意幫助。到目前爲止,我們最大的問題是我們需要管理員憑據。因此,例如,我們通過oauth2decorator_from_clientsecrets獲得的OAuth 2.0憑據無效。我對嗎? (從Google API控制檯下載的client_secrets.json,它是Web應用程序的客戶端ID) – jorgeas80

相關問題