使用证书或其他身份验证来验证Web服务

时间:2014-02-16 15:49:39

标签: android ios web-services ssl

我现在正在创建一个应用程序,其想法是应该在付费和免费版本中找到它。

两个版本都依赖于后台的Web服务来对数据库进行查询。这是整个项目的真正核心和核心。

免费版本允许用户进行查询等,而完整版本可以进行查询,但也可以下载部分请求的项目。换句话说,完整版不需要完全上网。

我的问题是我想尽力避免第三方创建自己的前端并使用我的webservice /数据库。由于我想避免在服务器上存储任何用户信息,因此认证和授权变得更加复杂。

我一直在搜索论坛以寻求解决方案,而且由于我们写的是2014年,可能会有一些建议比我找到的更好,其中大部分包含用户名或某种令牌。

目前我真正看到的唯一解决方案是使用证书在应用程序和服务器上使用以进行验证和授权。甚至可以通过为应用程序和服务器每月创建一个新证书来扩展它。

现在,我可以自由地用我选择的任何语言和框架开发服务器端解决方案。

有没有人有一个明确的解决方案,如何避免没有应用程序的人访问网络服务资源?

1 个答案:

答案 0 :(得分:1)

如果不在服务器上存储信息,则无法100%完成此操作。其他任何事情都要求您信任来自您没有物理控制的客户端的数据,这是一个安全错误。

现在,如果您需要90%的解决方案,可以使用https访问您的服务器并在每个请求中发送密钥。密钥是随机的128或256位数。使用另一个付费和免费。如果他们没有传输正确的号码,请发送错误代码而不是真实数据。

现在任何真正关心的人都可以对此进行逆向工程并破坏您的代码,因为身份验证数据是客​​户端的。但实际上只有少数人会关心,即使你的应用程序变得足够大而无法关心。