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