在应用引擎端点获取 Oauth 令牌

Getting Oauth token in app engine endpoints

我正在寻找一种从应用引擎 java 端点获取 OAuth2 令牌的方法。

我知道这样做,例如:

@ApiMethod(name = "getMyResponse", path = "getMyResponse", httpMethod = ApiMethod.HttpMethod.GET)
public MyResponse getMyResponse(final User user, HttpServletRequest request)
        throws UserUnauthorizedException {
    String authorizationHeader = request.getHeader("Authorization");
    String token = authorizationHeader.substring(7);
    //do something with the token here
}

但是,我正在寻找比从 HTTP header 解析字符串(例如使用一些 API)更多 "civilized" 的东西。有什么想法吗?

如果只需要拿到token,又显得不文明,建议自己写。您可能使用的任何 API 只会增加您的代码库的重量。我会简单地编写一个辅助函数,如:

private static String getToken (HttpServletRequest req){
   String authorizationHeader = req.getHeader("Authorization");
   String token = authorizationHeader.substring(7);
   return token;
}

然后在你的代码中引用

String token = getToken(request);

你的代码现在是文明的。