【发布时间】:2020-05-29 12:19:53
【问题描述】:
如果应用程序通过 https 使用 post 方法(JSON 对象)与服务器 api 交互,则存在暴露 api 端点和任何人访问 api 的危险。 有没有办法确保从指定的应用程序仅调用 api。
我在网上做了一些研究并了解到:
一个。使用 POST 方法进行手动凭据检查
b.使用 json 网络令牌 (jwt)
但是我的问题是:这两种方法 a) 和 b) 都需要某种用户名/密码从客户端应用程序传递到服务器(在 a. 中每次都在 b. 中)。现在这个用户名/密码需要在 apk 中硬编码,任何人都可以通过反编译轻松获得它。那么这些方法如何安全呢?
【问题讨论】:
-
它不应该在 APK 中。您应该创建一个 API 来存储凭据,并为每个用户创建一个唯一的令牌。如果要添加另一层安全性,可以使用盐密钥并对其进行检查。请看here。
-
谢谢卡杜。我们在哪里存储每个用户的唯一令牌?用户无需登录/注册。他们只需安装应用程序并开始使用它。
-
那么,你需要实现一个数据库来存储这些信息,或者使用像 Firebase 这样的 API。