Google app engine 没有Google帐户的Google云端点

Google app engine 没有Google帐户的Google云端点,google-app-engine,authentication,google-cloud-endpoints,Google App Engine,Authentication,Google Cloud Endpoints,我们的web应用程序不提供Google帐户身份验证。我们已经使用WebApp2身份验证实现了自己的身份验证: 我们希望使用云端点作为移动应用程序/第三方开发人员的API,但我们仍然希望使用oAuth2进行身份验证 实现这一点需要哪些步骤?我们需要在AppEngine上设置自己的oAuth服务器吗?Google客户端库是否兼容 你什么都不用做。我在AppEngine上有一个联邦登录应用程序,最近我在其中添加了一个使用云端点的Android应用程序。您不必做任何特殊的事情,只需在函数中添加一个用户参

我们的web应用程序不提供Google帐户身份验证。我们已经使用WebApp2身份验证实现了自己的身份验证:

我们希望使用云端点作为移动应用程序/第三方开发人员的API,但我们仍然希望使用oAuth2进行身份验证


实现这一点需要哪些步骤?我们需要在AppEngine上设置自己的oAuth服务器吗?Google客户端库是否兼容

你什么都不用做。我在AppEngine上有一个联邦登录应用程序,最近我在其中添加了一个使用云端点的Android应用程序。您不必做任何特殊的事情,只需在函数中添加一个用户参数。在用户对象中,您将找到必须授权才能访问数据的用户电子邮件

@Api(name = "my_api",
        version = "v1",
        scopes = {"https://www.googleapis.com/auth/userinfo.email"},
        clientIds = {Constants.AUTH_CLIENT,
                Constants.AUTH_CLIENT_APIEXPLORER})
public class MyEndpoint {
    @ApiMethod(name = "fistEndpoint")
    public ResponseObject fistEndpoint(User user) throws OAuthRequestException {
        if (user == null) {
            throw new OAuthRequestException("Access denied!");
        }
        String email = user.getEmail();
        //Authorize the request here
        //make the ResponseObject and return it
    }
}
创建端点访问后: 并测试它

更新:上述示例仅限于谷歌账户。如果您想要其他类型的帐户,您可以查看以下帖子:

谷歌云端点是无状态的,因此如果不使用谷歌身份验证,则无法将用户电子邮件检索到端点中

事实上,端点只是http请求,因此您可以像承载器一样将所需信息传递给http授权。您可以从端点完全访问此信息

我希望它能帮助你