【发布时间】:2014-09-12 09:24:12
【问题描述】:
我正在计划一个 SaaS 应用程序,并且一直在试图弄清楚我想如何处理我的会话管理。这是场景:
服务器 1:REST API,带有 rails-api gem 的 Rails 4
服务器 2:前端、Rails 4、BackboneJS/MarionetteJS
- 这些服务器最终将成为类似服务器集群的一部分。
- 这些应用程序是独立的,因为还有一个使用 REST API 的移动应用程序,我们计划通过 API 将第 3 方应用程序绑定到我们的数据库中。
我把它归结为两种情况:
1) 仅在前端使用 access_tokens 进行身份验证:
- 用户通过 https 登录并通过电子邮件和密码发送
- 它们通过 api 进行身份验证并返回 access_token
- 未来在前端发出的所有请求都使用此访问令牌
2) 前端的用户数据库会话,然后是 api 调用的 access_tokens
- 用户登录并通过前端服务器上的设计进行身份验证(将会话信息存储在数据库中)
- 会为它们生成一个 access_token,并将其添加到 Backbone 应用初始化中以供将来的 api 请求使用
我喜欢#2,因为每次用户更改页面时,我都可以轻松查看他们是否仍然经过身份验证,如果没有,则将它们引导回登录页面。
但是#1 让事情变得简单,因为前端服务器处理的就是前端的东西。
是否有人建议一种方法优于另一种方法?为什么?
还有其他选择吗?
谢谢大家!
【问题讨论】:
标签: api rest session backbone.js ruby-on-rails-4