Google Cloud Endpoints v2:任何注入用户的方式?

时间:2018-04-10 08:30:40

标签: google-app-engine authentication google-cloud-endpoints-v2

我是Google Cloud Endpoints的新手,我目前正在寻找另一种方法来接收User方法参数。

Authenticating Users的文档中,接收有关所显示用户的信息的方式是接收实例com.google.api.server.spi.auth.common.User作为方法参数。

似乎没有注释我可以用来在其他地方请求这个原则,而不是直接在端点方法上。这显然可以使用,但我对以下场景非常感兴趣:

/*
 * in an injection provider
 */
CustomUserClass getUser(@EndpointsUser User user) throws UnauthorizedException{
    if(user == null) throw new UnauthorizedException("If we're requesting the user be injected, we should reject unauthenticated requests");
    //datastore code to lookup and return my representation of a user
}

/*
 * in the endpoint class
 */
@Inject
CustomUserClass userProfile;

//endpoint methods here

有谁知道如何做到这一点?我意识到我可以简单地将这个逻辑移到我的端点类中,但这是一个跨领域问题的案例,不仅是错误的编程,而且不太容易测试。

是的,我知道我可以扮演我自己的解决方案(双关语),但云端点应该让这种事情变得简单,不是吗?

1 个答案:

答案 0 :(得分:0)

目前这是不可能的,因为Guice用例在编写框架时并不常见。你可以file a feature request