我正在Symfony2中构建一个REST API应用程序,我正在尝试找到一种处理用户身份验证和授权的好方法。有很多解决方案,但到目前为止,它们都没有满足我的所有要求/关注。
API将主要由AngularJS SPA使用,用户使用用户名和密码组合登录。让GUI用户能够:
非常重要在服务器端,我希望保持严格的RESTful。我提出了一个似乎是我需要的解决方案,但我想确保我没有遗漏任何东西。
如果登录失败(cookie已删除或401响应)丢弃所有表单数据,请删除cookie并重定向到登录屏幕。
显然,存储在客户端的cookie将在每次请求时传递给服务器,因为这是cookie的作用,但服务器会忽略它。 cookie仅供客户使用。增加的带宽开销被认为可以忽略不计。
这个工作流程看起来不错吗?我错过了什么吗?
答案 0 :(得分:1)
我做了一个名为WebApiSecure的项目,该项目使用 Json Web Tokens(JWT)进行授权 - 基本和承载。我相信它会执行您描述的大部分内容,例如允许令牌过期以及添加用户ID或角色。它可能会帮助你做你想做的事。
它是使用Web Api 2构建的,前端可以是AngularJS或基于JQuery。