【发布时间】:2013-01-29 17:50:35
【问题描述】:
我目前正在开发一个使用 Backbone.js 构建的网站。该站点在 Symfony 中使用 FOSRestBundle 构建了一个 RESTful API。开发进展顺利,直到我偶然发现一些与用户相关的票证。
据我了解,处理此类问题的最佳方法是使用基于令牌的系统,在该系统中,用户在批准登录后会获得访问令牌。我将描述我目前对工作流程的看法,并在此过程中提出问题。更重要的是,如果我有误解,请纠正我。
首先,用户访问登录表单,然后用户输入凭据,然后向服务器发送 AJAX 请求。据我了解,这一切都应该使用 SSL 处理,但是使用 Backbonejs,您不能简单地说应该使用 HTTPS 访问登录页面,因为 Backbone 是一个单页框架。那么这会迫使我在整个应用程序中使用 HTTPS 吗?
在下一步中,REST 服务器验证凭据并获得批准,然后 REST 服务器向客户端发送访问令牌。这个令牌(在客户端)是保存在本地存储还是 cookie 中?
也是把登录信息保存在服务器上,让REST服务器在一定时间后把用户注销?
现在,客户端将这个访问令牌与其他请求一起发送,以便服务器可以识别客户端,并批准或不批准请求。那么访问令牌也存储在REST服务器上?
最后,这就是聪明人所说的“oauth”,还是和它有关?
谢谢。
【问题讨论】:
标签: rest symfony backbone.js