我们正在为 iPad 应用程序开发 HTTP API,并且我们正在考虑仅允许通过来自 iPad 的 HTTP 请求访问该 API。
我没有想到像用户代理这样的东西,因为它很容易被伪造,但更像是某种与应用程序商店相关的身份验证方案?也许 App Store 使用某种私钥对每个应用程序进行签名,然后您可以将该签名作为查询参数或标头插入到请求中,并在服务器端检查签名是否来自合法的 iPad。
这样的事情可能吗?甚至是个好主意吗?
如果您同时控制 iPad 应用程序和服务器应用程序,则应该能够使用 PKI 来验证请求是否来自合法应用程序。 将公钥嵌入到应用程序本身中,使用它来加密您放入标头字段中的值,然后使用服务器上的私钥来解密和验证收到的标头值。