1

我是所有网页设计的新开发人员。

我在 Google App Engine 上开发了一个应用程序,最近的一位客户想在 Google Apps Marketplace 上发布它。我只是将客户端添加为应用程序所有者,以使他能够发布应用程序。他在市场上发布了应用程序并收到了这封电子邮件(缩写):

“您最近提交的 Google Apps Marketplace 申请……不符合 Google App Marketplace 的 OAuth2 要求。更具体地说,您似乎是通过 appengine.google.com 而不是在 Google Cloud 中构建应用程序的控制台,https://cloud.google.com/console。问题是 appengine 界面不允许您使用 Google App Marketplace 所需的 OAuth2。查看我们的文档以获取有关 OAuth2 以及如何使用的更多信息将它与您的应用程序一起使用。”

我觉得这很令人困惑,因为我的 appengine 项目使用 OAuth2 作为除用户登录之外的所有内容的服务帐户,我只是使用 google.appengine.api 提供的 User 对象来检查用户是否已登录。我明白吗您不能将 Google App Engine 与 Google Apps Marketplace 一起使用?或者这仅仅是没有使用适当的登录方法的情况?

4

3 回答 3

1

这是非常愚蠢的。当我开始与 Google Apps Marketplace 集成时,我也遇到过这种情况。基本上你需要做两件事:

  1. Federated LoginAuthentication Type您的应用程序中使用
  2. /_ah/login_required为将自动登录的 URI创建处理程序

我将Gaelyk用于第二点,它很容易重用UserService

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

在普通的旧 Java 中,它可能更冗长,但我希望你能明白。

于 2013-12-17T07:17:44.717 回答
0

添加联合登录将无法满足完全 OAuth2 的要求。用户服务仍将使用 OpenID。您需要使用 Google Python 客户端库对用户进行身份验证。这里有一些很好的示例:https ://code.google.com/p/google-api-python-client/wiki/SampleApps#OAuth_2.0_Samples

于 2014-02-19T21:12:55.193 回答
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

于 2014-05-22T11:49:27.913 回答