Ember.js 余烬简单身份验证:保存用户';ajax错误后的URL
我在我的ember js应用程序中应用了ember-simple-auth-0.6.4.js,有一种情况非常常见。以下是步骤的顺序Ember.js 余烬简单身份验证:保存用户';ajax错误后的URL,ember.js,ember-simple-auth,Ember.js,Ember Simple Auth,我在我的ember js应用程序中应用了ember-simple-auth-0.6.4.js,有一种情况非常常见。以下是步骤的顺序 用户在应用程序中进行身份验证(我使用自定义身份验证程序)。这样会话就有效了 约20分钟不活动后,后端会话将无效 用户转到一个路由(从AuthenticatedRouteMixin派生),由于客户端应用程序中的余烬会话仍然有效->“会话已验证”检查通过 然后调用路由模型钩子,在其中我尝试使用ajax请求从后端加载一些数据,我得到401个未经授权的响应,因为后端会话无效
- 在AuthenticatedRouteMixin beforeModel()钩子中,我存储最后一次转换:
Configuration.beforeInvalizationTransition=转换代码>
- 在ApplicationRouteMixin I中,重新定义sessionInvalidatedSucceeded钩子:
sessioninvalidationsucceed:function(){ if(配置。失效转换前){ this.get(Configuration.sessionPropertyName) .set('attemptedTransition',Configuration.beforeInvalizationTransition); } this.transitiono(Configuration.authenticationRoute);
这有意义吗?或者有更优雅的解决方案解决这个问题吗?您实际上可以立即在会话中存储最后一次转换,而无需使用
配置。BeforeInvalizationTransition
。您还可以在访问令牌即将过期之前刷新它,就像OAuth 2.0身份验证程序那样(请参见此处:)谢谢您的回复!这不应该是保存会话中最后一次转换的逻辑吗?我想知道到已验证路由的最后一次转换,以便在成功登录后重试。该功能实际上是库的一部分,但不适用于会话被禁用的情况过期。也很难检测到会话过期的情况,例如401可能有不同的原因,例如用户试图做某事。他们不被允许。