我设置了一个钩子来接收所有事件,但在从下拉菜单注销时没有收到注销事件。但是,当我使用 API 注销时,我收到了该事件。
1 个赞
好的,查看源代码后,我发现了以下内容(我对 Ruby 和 Ember.js 还不熟悉,请原谅任何错误):
用户下拉菜单(quick-access-profile.js)中的“登出”按钮调用:ajax(/session/${this.username}, { type: "DELETE" }),这对应于 session_controller.rb 中的“destroy”操作。
我发现此操作不会触发“user_logged_out”事件。因此,在“destroy”操作中添加以下行:
DiscourseEvent.trigger(:user_logged_out, current_user) 后,“user_logged_out” webhook 被触发了。
这是 session_controller.rb 中“destroy”操作的一个 bug,还是它本就不应该触发“user_logged_out”事件?
我正在使用 discourse 作为 SSO 提供商,并尝试使用“user_logged_out” webhook 在用户在 discourse 上登出时,在我的网站上将其登出。
1 个赞