我正在查看ember.js上的文档和帖子,并使用带有Rails的ember.js。
我喜欢Rails提供API的想法,以及处理UI的ember.js,但我想知道如何插入用户身份验证。
例如,假设我正在使用设计,如何将它与ember.js一起使用?
任何指针都会非常感激。
答案 0 :(得分:15)
更新2
查看this new github example app使用混合rails视图+设计变量范围的ember应用程序,该应用程序在ember 1.0.rc.1 + ember-data rev 11上运行并持续has_many关系。
查看尚未准备就绪的this token authentication project但显示了很多承诺。这对于验证用户客户端的移动客户端api来说非常有用,而不是简单的基于Web的rails视图设计验证。
两者都提供了有趣且有争议的用例。我期待着看到未来的发展方向。
更新1
我在这里使用Devise添加了超级基本用户auth到Dgeb的ember-data示例应用程序:https://github.com/dgeb/ember_data_example/pull/17。我使用Rails控制器进行身份验证创建和范围设定,将current_user user_id添加到新联系人记录的创建中,同时通过current_user.id将范围化的AMS数据提供给ember应用程序。
我有一段时间有同样的问题,我能找到的唯一具有用户身份验证并使用rails的开源ember示例应用程序是https://github.com/carvil/dash-it。他使用Rails-Devise登录视图,一旦用户登录,就会将current_user信息传递给ember.js应用程序。
我知道很多其他人使用Devise token_authenticatable来完全删除Rails视图,并严格通过令牌在Ember应用程序中验证用户身份。这可能是最好的方法,但我还没有尝试在应用程序中实现它,我还没有发现任何开源应用程序走这条路。
Ember的主要开发人员之一Tom Dale说,他们对于任何特定的用户身份验证解决方案都没有“优惠国家”的地位,所以在他们正式支持特定解决方案或在框架中构建一个解决方案之前,我假设Devise令牌是最好的方式。希望拥有比我更多Ember /用户身份验证经验的人可以使用Ember的状态机和路由以及基于令牌的用户身份验证来提示并演示比https://github.com/carvil/dash-it更好的解决方案。
答案 1 :(得分:4)
检查ember-auth它处理ember.js的令牌身份验证,还有一个demo and tutorial用于rails / devise / ember。 ember-auth 是我迄今为止看到的验证ember.js / rails app的最佳方法。
到目前为止,我已经实现了一个基于Ember-auth的基本Ember应用程序,其中包含Devise令牌身份验证,以及可以找到here的Google和LinkedIn示例Oauth,并在此处生效:https://starter-app.herokuapp.com
答案 2 :(得分:2)
我正在研究一个在ROR平台上使用ember.js身份验证的项目。检查github上的以下项目链接。
答案 3 :(得分:1)
一个选项(在所有情况下并不总是理想的)是在视图中初始化Ember应用程序,该视图需要在Devise中进行活动会话才能呈现。
我经常通过将ember应用程序的js / css清单保留在加载路径之外来执行此操作,除非在位于Rails应用程序中经过身份验证的控制器下的视图中。
您还可以通过在填充数据的Rails控制器上设置Devise身份验证来保护Ember应用程序中的任何数据加载。