背景:

我有一个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中找到它?

更多背景:

我已经熟悉以下链接:

> @machty 2 Embercasts:http://www.embercasts.com/episodes/client-side-authentication-part-2
> @wycats推文:https://twitter.com/wycats/status/376495062709854209
> @cavneb 3篇博文:http://coderberry.me/blog/2013/07/08/authentication-with-emberjs-part-1
> @simplabs博客文章:http://log.simplabs.com/post/53016599611/authentication-in-ember-js

…我正在寻找超越这些的答案,并且特定于Ember-Data AMS.

除了需要通过Ember-Data在响应中将新令牌传递回客户端之外,假设我的客户端代码与GitHub上的@machty Embercast示例类似:https://github.com/embercasts/authentication-part-2/blob/master/public/js/app.js

非常感谢你!

解决方法

我有一个类似的堆栈 – ember,ember-data和rails-api与AMS.现在,我只是通过修改RESTAdapter的ajax方法将标识符(我存储在localStorage中)传递到标题中(尽管您可以将它传递给查询字符串).

我最初的想法是避免在每个请求上重置令牌.如果您特别担心令牌被嗅探,则可能更容易在服务器上定期重置令牌(例如,10分钟).然后,如果来自客户端的任何请求由于旧令牌而失败,则只需获取新令牌(通过传递服务器在登录时提供的“令牌”)并重播初始请求.

至于放置令牌的位置,实际上并没有“Ember Way” – 我更喜欢在标题中传递它,因为在查询字符串中传递它会使缓存变得混乱,并且更有可能在路上的某处记录.我肯定会避免在请求体中传递它 – 这会违背ember-data所期望的,我想.

Ember.js Ember-Data AMS的身份验证令牌=> JSON或HTTP头?的更多相关文章

  1. Android AMS启动详解

    这篇文章主要介绍了Android AMS启动的相关资料,帮助大家更好的理解和学习使用Android,感兴趣的朋友可以了解下

  2. Ember.js Ember-Data AMS的身份验证令牌=> JSON或HTTP头?

    如果是这样,令牌放在现有对象的JSON结构中哪里?或者它们是否应该放在每个请求和响应对象的HTTP标头中?什么是“EmberWay”,人们可能最终期望在新的EmberGuidesCookbook中找到它?更多背景:我已经熟悉以下链接:>@machty2Embercasts:http://www.embercasts.com/episodes/client-side-authentication-part-2>@wycats推文:https://twitter.com/wycats/status/37649

随机推荐

  1. js中‘!.’是什么意思

  2. Vue如何指定不编译的文件夹和favicon.ico

    这篇文章主要介绍了Vue如何指定不编译的文件夹和favicon.ico,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教

  3. 基于JavaScript编写一个图片转PDF转换器

    本文为大家介绍了一个简单的 JavaScript 项目,可以将图片转换为 PDF 文件。你可以从本地选择任何一张图片,只需点击一下即可将其转换为 PDF 文件,感兴趣的可以动手尝试一下

  4. jquery点赞功能实现代码 点个赞吧!

    点赞功能很多地方都会出现,如何实现爱心点赞功能,这篇文章主要为大家详细介绍了jquery点赞功能实现代码,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

  5. AngularJs上传前预览图片的实例代码

    使用AngularJs进行开发,在项目中,经常会遇到上传图片后,需在一旁预览图片内容,怎么实现这样的功能呢?今天小编给大家分享AugularJs上传前预览图片的实现代码,需要的朋友参考下吧

  6. JavaScript面向对象编程入门教程

    这篇文章主要介绍了JavaScript面向对象编程的相关概念,例如类、对象、属性、方法等面向对象的术语,并以实例讲解各种术语的使用,非常好的一篇面向对象入门教程,其它语言也可以参考哦

  7. jQuery中的通配符选择器使用总结

    通配符在控制input标签时相当好用,这里简单进行了jQuery中的通配符选择器使用总结,需要的朋友可以参考下

  8. javascript 动态调整图片尺寸实现代码

    在自己的网站上更新文章时一个比较常见的问题是:文章插图太宽,使整个网页都变形了。如果对每个插图都先进行缩放再插入的话,太麻烦了。

  9. jquery ajaxfileupload异步上传插件

    这篇文章主要为大家详细介绍了jquery ajaxfileupload异步上传插件,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

  10. React学习之受控组件与数据共享实例分析

    这篇文章主要介绍了React学习之受控组件与数据共享,结合实例形式分析了React受控组件与组件间数据共享相关原理与使用技巧,需要的朋友可以参考下

返回
顶部