我正在使用django应用程序(subdomainA.example.com)常用的基于会话的身份验证和使用django API(subdomainB.exmaple.com)的SPA。
我在我的自定义身份验证器的恢复方法中检查某些工件,以确定用户当前是否经过身份验证(某些cookie - 似乎很差的解决方案,但任何想法如何做得更好)如果是,我想将ember简单的auth会话设置为认证。
我该怎么办?
this.set('session.isAuthenticated', true);
似乎没有正常工作,因为在invalidate
我得到了错误:
ember.debug.js:16624未捕获错误:断言失败:Session#invalidate要求对会话进行身份验证!
答案 0 :(得分:1)
您无法将ESA会话设置为手动进行身份验证。实际上,任何编写isAuthenticated
属性的尝试都会导致错误。
您可以做的是实现自定义身份验证器,并使用它来验证会话,并使用您传递给authenticate
方法的一些静态数据,例如
this.get('session').authenticate('authenticator:my-authenticator', sessionData)
// app/authenticators/my-authenticator.js
…
authenticate(sessionData) {
return Ember.RSVP.resolve(sessionData);
}