我使用oauth2身份验证/承载授权与快速服务器设置ember简单身份验证 . 流程按预期工作:访问/刷新令牌按计划发布和刷新 . 当用户注销时,令牌在服务器上被撤销,会话无效 . 现在在我手动删除服务器上的刷新令牌的实例中,ember将在下次请求刷新时在控制台中记录“验证者”验证者:oauth2“拒绝恢复会话 - 使......失效” . 此时,如果我尝试重新加载页面,会话将失效,然后我将被重定向到登录页面 .
我想在令牌刷新失败时立即使会话/日志用户失效,而不必先刷新页面 . 我认为这是正常的行为,但我一定是错的/遗漏了什么 .
1 回答
除非你这样说,否则ember-simple-auth不知道你的会话是无效的 . 根据您请求刷新令牌的方式,您应该:
在刷新失败时调用
session.invalidate()
如果你通过authenticator hook以某种方式(
restore
,authenticate
,invalidate
)刷新,则返回被拒绝的承诺这将告诉ember-simple-auth重定向到其配置的登录路由 .
注意:ember-simple-auth会对其浏览器端会话存储的更改做出反应 . 那个's probably what you'重新思考 .