使用用户资源是每个应用程序的重要组成部分,因此它应该尽可能自动化。 至于Ember,我找到了一个教程https://github.com/heartsentwined/ember-auth-rails-demo/wiki 其中描述了它如何与基于设计的认证系统进行通信。而且,哇,这是一个很糟糕的样板:) Rails4的新设计有什么变化或者事情是一样的吗?
答案 0 :(得分:2)
ember-auth
dev这里。
修改/更新:我现在已经构建了rails 4
个应用,其中包含devise
,ember
和ember-auth
。除了以下两个问题,一切都运转良好。
devise
>= 3.1
已移除 tokenAuthenticatable
模块。所以我在Gemfile
:
gem 'devise', '>= 3.0', '< 3.1'
ember-data
正在从ActiveModelSerializers
向json-api漂移 。问题是,json-api
本身甚至不稳定。快速简便的解决方法是将DS.RESTAdapter
替换为符合DS.ActiveModelAdapter
约定的ActiveModelSerializers
。它应该“正常工作”。
所以,是的,ember-auth
确实支持rails4
,因为没有什么可以解决它本身。
(上一个答案:)
我没有使用rails 4
的经验,但ember-auth
本身并不依赖于rails 3
,或者实际上rails
/ devise
。唯一的期望是服务器公开的一组API。[1] docs描述了服务器API的期望。
至于使用rails作为后端,ember-data
明确声明支持(并遵守)active_model_seriailzers
,这为从json
模型生成rails
响应提供了便利方法。但是,由于身份验证操作不符合“标准”REST
ful模型响应,因此ember-auth-rails-demo
教程本身会手工制作预期的响应。例如:
def create
# ...
data = {
user_id: resource.id,
auth_token: resource.authentication_token,
}
if params[:remember]
resource.remember_me!
data[:remember_token] = remember_token(resource)
end
render json: data, status: 201
end
因此,对于rails 4
兼容性,我会根据需要对devise
兼容性,任何ActiveRecord
更改以及一般其他gem兼容性进行更多调查。至于ember-auth
,它仍然会手工制作预期的回复,如docs中所述。
[1]:通过编写自定义adapters
,即使是这种期望也可以自定义。高级用法,但如果需要,我可以详细说明。