Android 在app engine上实施授权的原因是什么?

Android 在app engine上实施授权的原因是什么?,android,google-app-engine,oauth-2.0,Android,Google App Engine,Oauth 2.0,我正在尝试一个带有端点的Android示例应用程序。据我所知,我们应该在GoogleAppEngine上为每个方法实现授权(如下代码) /** * Provides the ability to insert a new Score entity. */ @ApiMethod(name = "scores.insert") public Score insert(Score score, User user) throws OAuthRequestException, IOException

我正在尝试一个带有端点的Android示例应用程序。据我所知,我们应该在GoogleAppEngine上为每个方法实现授权(如下代码)

/**
 * 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上运行此应用程序我可以删除它吗?还是应该删除?

如果需要识别用户,则应将
user
param添加到方法的参数列表中。如果该方法的逻辑为任何用户返回相同的结果,则不需要用户身份验证,但通过这种方式,您允许每个人在不进行任何身份验证的情况下调用您的方法

如果您设计好端点,就不可能访问数据库或查询数据库。只需限制端点方法返回的内容

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


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

谢谢您的回答。那么Servlet希望获得blob上传url的情况又如何呢?因为我可以通过网络浏览器和链接激活它们。这是一个安全问题吗?您还可以使用browser、curl或wget实用程序调用任何端点方法。如果你设计得很好,它根本就不是安全问题。例如,从应用程序内下载某些高级内容的实现方式如下:调用端点方法(oauth保护)以获取高级资源的唯一标识符,检查用户是否有权下载内容,然后调用该方法以使用此标识符下载blob。这样,只有符合条件的用户才能下载高级内容。