场景是:
我有一个 Web API,两个客户端正在访问它:
- 用 Javascript 编写的 Web 应用程序,已缩小
- iOS 应用
SSL 全部设置在托管 API 的服务器上,并且运行良好。API 没有用户身份验证,因为它是一种基于位置的搜索应用程序。
我想确保只有 Web 应用程序和 iPhone 客户端才能真正向 API 发出请求。对于 iPhone 客户端来说,这很容易——服务器和应用程序之间共享秘密就可以了,而且它使用 SSL 加密,所以我们不担心有人在监视它。
但是对于网络应用程序,相同的解决方案将不起作用。我不能只在代码中留下一个字符串,即使它在那里被加密,这也是有人需要的。
基本上,我正在寻找解决这个问题的好方法。我只是想确保它只保留给允许使用它的客户,但我不确定如果不去实施 OAuth 我怎么能这样做,我认为这可能是矫枉过正。有任何想法吗?
谢谢!担