2013-12-17 201 views
1

我是所有網頁設計的新開發人員。Google App Engine和Google Apps Marketplace

我在Google App Engine上開發了一個應用程序,最近一位客戶希望將它發佈到Google Apps Marketplace上。我只是將該客戶端添加爲應用程序所有者,以使他能夠發佈該應用程序。他在市場上發佈了應用程序,並收到了此電子郵件(縮寫):

「您最近提交的Google Apps Marketplace應用程序...不符合Google App Marketplace的OAuth2要求,更具體地說,看起來您已通過appengine.google.com構建應用程序,而不是在Google雲端控制檯https://cloud.google.com/console中構建應用程序。問題是,appengine界面不允許您使用Google App Marketplace所需的OAuth2。有關OAuth2的更多信息以及如何將它與您的應用程序一起使用的文檔。「

我覺得這非常令人困惑,因爲我的appengine項目使用OAuth2作爲除用戶登錄之外的所有服務帳戶,我只是簡單地使用google.appengine.api給出的用戶對象來檢查用戶是否已登錄。我瞭解您無法將Google App Engine用於Google Apps Marketplace?或者這僅僅是一個不使用適當的登錄方法的情況?

回答

1

這非常愚蠢。當我開始與Google Apps Marketplace集成時,我也遇到過這種情況。基本上你需要做兩件事情:

  1. 使用Federated Login爲您的應用程序
  2. 創建/_ah/login_required URI處理程序將自動登錄

我用Gaelyk第二點的Authentication Type這是非常簡單的重用UserService

redirect users.createLoginURL(params['continue'], null, params.hd, [] as Set)

在普通的舊Java中它可能更加冗長,但我希望你能得到圖片。

+0

非常感謝您的答覆,我會看看到這個時候了。 – nahushdixit

+0

在昨晚弄糟了這個之後,我發現自己處於重定向循環。我正在使用python,我應該將它作爲標籤發佈。當我把它啓動並運行,並且Google批准它時,我會將其標記爲答案。 – nahushdixit

+0

簡單的輸入錯誤導致重定向循環,昨天發現它。對不起,我沒有馬上將這個標記爲答案。謝謝! – nahushdixit

0

目前我們使用OpenID 2.0進行用戶身份驗證,並使用Oauth進行其他服務的授權。 Openid 2.0已棄用,Google將不會使用Open Id提供身份驗證。對於時間線,請參考此鏈接https://developers.google.com/+/api/auth-migration#timetable

所以他們建議使用OpenIDConnect進行用戶身份驗證。 OpenIdConnect是用Oauth 2.0編寫的用於認證用戶的層。

對於引用參觀http://openid.net/connect/https://developers.google.com/accounts/docs/OAuth2Login?hl=ja#appsetup