我们开发了多客户端应用程序,即业务逻辑驻留在服务器端,接口通过 REST API 公开,移动/网络客户端使用 API。
该应用程序允许不同的用户注册/登录以获取用户特定的数据。我们使用基于 http 摘要的身份验证和令牌机制来跟踪用户状态。
但是,我们希望限制 API 的访问,即只有我们注册的移动/网络客户端才能访问它们。所以我们引入了第二层认证,命名为服务层认证。我们正在使用基于自定义令牌的系统,就像我们对用户身份验证所做的那样。移动客户端的整体流程对我们来说已经足够了,但对于网络客户端来说,我们遇到了问题。如果我们在 Javascript 中嵌入用户凭证,任何人都可以提取这些凭证并使用 API。
总之,我们想要的只是在 ajax 调用时识别/验证基于 Javscript 的 Web 客户端。
PS 只是为了澄清,网络客户端是指我们的网络应用程序而不是浏览器。