在app引擎上实施授权的原因是什么?

时间:2014-12-30 13:18:09

标签: android google-app-engine oauth-2.0

我正在尝试使用端点的Android示例应用。据我了解,我们应该在google app引擎上为每个方法实施授权(如下面的代码)。

/**
 * Provides the ability to insert a new Score entity.
 */
@ApiMethod(name = "scores.insert")
public Score insert(Score score, User user) throws OAuthRequestException, IOException {
  ...
}

我想了解(作为初学者),如果我没有对方法实现这种授权,任何人都可以搞乱我的后端应用程序吗?他们可以访问数据存储区并查看数据库或使用查询访问存储在数据存储区中的信息吗?它会造成什么样的安全漏洞? 这样我才能理解应该在哪些方法中实施授权。

还有一点是Index.html,我认为,我不需要。应用引擎自动创建此功能,但我只想在Android上运行此应用。 我可以删除它还是应该删除它?

1 个答案:

答案 0 :(得分:0)

如果您需要识别用户,则应将User param添加到方法的参数列表中。如果该方法的逻辑为任何用户返回相同的结果,则不需要用户身份验证,但这样您就可以让所有人在没有任何身份验证的情况下调用您的方法。

如果您很好地设计端点,则无法访问数据库或查询数据库。只需限制端点方法返回的内容。

  

还有一点是Index.html,我认为,我并不需要。应用引擎   自动创建此但我想只在Android上运行此应用程序。   我可以删除它还是应该删除它?

如果它仍在编译并在后端运行,为什么不呢。在浏览器中打开应用时会显示index.html,例如https://appname.appspot.com。如果您不想显示任何内容,可以随时提供空文件。