保护API调用GAE端点

时间:2015-05-16 21:16:35

标签: android google-app-engine google-cloud-endpoints

我正在将移动应用编写为从服务器获取数据的瘦客户端。我正在使用Google应用引擎托管我的后端并使用他们提供的所有服务。我正在使用端点来公开我的API。我找到this tutorial来保护我的API。我从api explorer测试一切正常。如果我不使用Oauth 2,我就无法使用API​​。但是,当我调查HTTP标头时,我没有找到"授权:bearer" line,将持有将用于验证和授权API调用的一次性令牌。现在我怀疑我没有正确的事情,因为通常我必须看到这一行。有一个我的调用的屏幕截图,请求显示它已被执行,尽管我没有指出前面的行。还有我的代码部分由Android studio部分生成。

    @ApiMethod(
        name = "get",
        path = "offer/{id}",
        httpMethod = ApiMethod.HttpMethod.GET)
public Offer get(@Named("id") long id, User user) throws NotFoundException, UnauthorizedException {

    if (user == null) throw new UnauthorizedException("User is Not Valid");

    logger.info("Getting Offer with ID: " + id);
    Offer offer = ofy().load().type(Offer.class).id(id).now();
    if (offer == null) {
        throw new NotFoundException("Could not find Offer with ID: " + id);
    }
    return offer;
}

有关为什么包含令牌的行丢失的任何线索?

enter image description here

1 个答案:

答案 0 :(得分:0)

您可能希望记录user.getUserId(),user.getNickname()和user.getEmail()以查看正在进行的操作。

我认为有cookie和其他方式存储身份验证信息,因为我很少需要两次登录网站。

相关问题