Google使用Post方法终止OAuth

时间:2016-08-18 17:36:14

标签: java oauth google-cloud-endpoints endpoints

我想将OAuth添加到我的端点后端。正如“Hello Endpoints Code Walk Through”指出的那样,只需要具备以下条件:

@ApiMethod(name = "greetings.authed", path = "hellogreeting/authed")
    public HelloGreeting authedGreeting(User user) {
    HelloGreeting response = new HelloGreeting("hello " + user.getEmail());
    return response;
}

但是如果方法类型是Post并且它包含一个正文呢?我无法将User和请求体传递给方法。

如何将OAuth与包含请求正文的Post类型方法一起使用?

2 个答案:

答案 0 :(得分:2)

就像这样:

GIDSignIn.sharedInstance().signIn()

@ApiMethod(name = "greetings.authed", path = "hellogreeting/authed") public HelloGreeting authedGreeting(User user, MyObject myObject) { HelloGreeting response = new HelloGreeting("hello " + user.getEmail()); return response; } 是Google App Engine将为您注入的注入类型,如saiyr指出的那样。

如果您确实想要在这些范围之外传递多个对象,则需要创建一个包装类,其中包含这两个对象是具有getter / setter的属性。

答案 1 :(得分:1)

两个允许的用户对象output = subprocess.run(["wget", "http://..."]) if output.returncode == 0: < wget worked> else: < wget did not work> spi.auth.common.User不计入资源参数,因为它们是在运行时注入的。您可以自由地将资源添加到其上具有appengine.api.users.User参数的方法。