0

我们开发了多客户端应用程序,即业务逻辑驻留在服务器端,接口通过 REST API 公开,移动/网络客户端使用 API。

该应用程序允许不同的用户注册/登录以获取用户特定的数据。我们使用基于 http 摘要的身份验证和令牌机制来跟踪用户状态。

但是,我们希望限制 API 的访问,即只有我们注册的移动/网络客户端才能访问它们。所以我们引入了第二层认证,命名为服务层认证。我们正在使用基于自定义令牌的系统,就像我们对用户身份验证所做的那样。移动客户端的整体流程对我们来说已经足够了,但对于网络客户端来说,我们遇到了问题。如果我们在 Javascript 中嵌入用户凭证,任何人都可以提取这些凭证并使用 API。

总之,我们想要的只是在 ajax 调用时识别/验证基于 Javscript 的 Web 客户端。

PS 只是为了澄清,网络客户端是指我们的网络应用程序而不是浏览器。

4

1 回答 1

0

我相信您正在寻找一种凭证交换,其中用户提供一次硬凭证(例如用户名和密码),然后收到一个范围令牌,该令牌用作后续请求的身份验证机制。

免责声明:我在 Stormpath 工作,我们提供用户管理即服务。

如果您正在构建单页应用程序(即 AngularJS),我会推荐我最近关于该主题的文章: https ://stormpath.com/blog/why-we-rebuilt-with-angular/

于 2015-02-19T02:09:39.547 回答