2012-11-18 128 views
0

這將是巨大的,如果有人能幫助我的戰略投入,如何實現我的目標:的oauth2 - 登錄到谷歌帳戶 - 無服務需要

  • 我寫了一個C#桌面應用程序(WPF)
  • 我有一個谷歌App Engine的項目,它提供的數據爲Android應用

現在我的桌面應用程序需要一些數據傳遞給我的App Engine應用。因此,應用程序必須認證爲App Engine應用程序的所有者。因爲所有其他Google方法都已棄用,所以我必須前往OAUTH2以讓我的桌面應用程序以擁有者身份進行身份驗證。

因此我必須在Google Apis Console上註冊一個項目。

: 我不需要任何服務(S)上市谷歌的API(地圖,...),因爲作爲業主,認證其絕對夠登錄到谷歌的帳戶(GmailAccount,谷歌帳戶,無論如何)。這可讓我的App Engine應用程序將我識別爲所有者。

我希望有關的建議:

  • 我必須要註冊不服務項目剛剛登錄通過的oauth2? (這可能嗎?)

  • 登錄到另一個服務(手段,以最簡單的方式,只是爲了能夠爲用戶進行身份驗證),似乎不是很「乾淨」 sollution。這是對的,還是我應該這樣去?

..我也看了有關服務帳戶,但不想用這個,因爲我希望能夠通過任何的Webbrowser操縱我的應用程序還可以通過我的「人」 -account。

感謝您的任何建議!

回答

1

您可以在不使用任何Google其他服務的情況下提供Google OAuth登錄。您的OAuth客戶端只會有一個空的範圍。您應該能夠獲得基本的用戶信息和電子郵件(因此您可以通過非全名來確定誰是誰),而不啓用任何服務。

您仍然需要一種方法來標誌,你是你在你的應用程序(可能只是硬編碼的郵件在您的應用程序,然後檢查它,誰與OAuth的認證將是最簡單)

+0

非常感謝。我有點害怕在Api控制檯中玩耍,只是爲了找出有效的方法。如果空範圍是可能的,我會嘗試以編程方式登錄「已安裝的方式」(認爲這會以某種方式工作)。當我在App Engine項目中啓用角色時,它必須通過Cookie或令牌作爲所有者來識別我爲所有者(認爲是這樣,因爲當我嵌入時,只要瀏覽器處於打開狀態,無論Google頁面是否打開,我被承認爲所有者),..但不知道,..會讓你知道我是如何解決它的。 – user1769165

+0

正如我所說,我會讓你知道我做了哪些方式:經過多次檢查所有場景後,我決定前往OAuth1,因爲.Net目前沒有提供JSON/JWT(我知道有OS庫,但我不想使用ist)。還有一點是,我只需要一個簡單的請求,使OAUTH2超大。由於OAUTH1提供到2015年,我決定採用這種方式! – user1769165