如前所述,仅使用硬编码凭据保护应用程序是不安全的。
我应该建议你使用一些类似登录的结构。您首先要求输入用户名/密码的地方。
然后,您使用在运行时编译的签名构建 API 调用。通过这样做,您永远不需要通过开放的网络发送用户密码。
您可以通过这样的调用来实现这一点:
APIkey = "a specicic APIkey"; //To identify the specifik app "not secret"
Username = "usersname"; //To identify witch user trying to make the call
Request = "you needed request data"; //Your actual requst parameters.
Timestamp = "Current_timestamp"; //Current timestamp user to get unique signatures for every call
Signature = sha256_hash(APIkey + Username + Request + Timestamp + Password); //Signature using the users password(Secret).
然后,您可以通过使用数据库中存储的密码重新编译签名服务器端来验证调用。如果签名匹配,则呼叫应该是真实的。您还应该设置时间限制并拒绝每个旧电话。
注意:您可能需要对其进行调整并将其更改为您的语言的工作代码,但您明白了。