Chr*_*ris 7 authentication ember.js ember-data rails-api active-model-serializers
背景:
我有一个Ember.js 1.1.0-beta.1应用程序,它与Rails-API服务器(Rails 4)交换JSON数据.使用Ember-Data 1.0.0-beta.2和Active Model Serializers 0.8.1(AMS)完成JSON数据交换.我正在使用Ember-Data和AMS的默认推荐配置,并且符合JSON-API规范.
在任何给定的RESTful调用中,客户端将当前的身份验证令牌传递给服务器.验证和退出身份验证令牌,并生成新的身份验证令牌并将其发送回客户端.因此,每个RESTful调用都接受请求中的身份验证令牌,并在响应中提供新的身份验证令牌,客户端可以缓存该令牌并用于下一个RESTful调用.
题:
我在哪里将身份验证令牌放在每个请求和响应中?
它应该是请求和响应中每个对象的JSON的一部分吗?如果是这样,令牌放在现有对象的JSON结构中哪里(与身份验证无关)?
或者它们是否应该放在每个请求和响应对象的HTTP标头中?
什么是"Ember Way",人们可能最终期望在新的Ember Guides Cookbook中找到它?
更多背景:
我已经熟悉以下链接:
......我正在寻找超越这些的答案,并且特定于Ember-Data + AMS.
除了需要通过Ember-Data在响应中将新令牌传递回客户端之外,假设我的客户端代码与GitHub上的@machty Embercast示例类似:https://github.com/embercasts/authentication -Part-2 /斑点/主/公共/ JS/app.js
非常感谢你!
我已经构建了类似的东西,尽管除非用户注销,否则我不会重置令牌。
我不会把它放在请求主体本身中 - 你只会污染你的模型。可能没有 Ember 方式,因为这更多的是一个运输问题。我使用自定义 HTTP 标头和/或 cookie 传递令牌。需要 cookie 来授权文件下载,这不能通过 ajax 完成,尽管 cookie 也适用于 ajax 调用。在你的情况下,我会使用 cookie 并让服务器每次将其设置为新值。但是,您在每个 JSON 请求上重置令牌的方案不适用于同时请求。这真的有必要吗?如果您使用 TLS,您可能不需要太担心。您还可以使令牌超时,这样如果 10 分钟内没有请求,就会生成新令牌。
| 归档时间: |
|
| 查看次数: |
1648 次 |
| 最近记录: |