FusionAuth 是否提供单点退出?

Does FusionAuth provide a single signout?

似乎无法找到让 FusionAuth 向应用程序发送信号以在注销时终止用户会话的任何内容。

FusionAuth 在 /api/logout 处提供了一个可能有效的 API。此 API 将撤销用户拥有的任何刷新令牌。当刷新令牌被撤销时,FusionAuth 将向任何已配置的 Webhook 发送一个事件。

这是关于此 API、Webhook 和触发的事件的文档:

以下是您可以执行的粗略步骤:

  1. 在您的应用程序或新的微服务中创建注销端点 (https://example.com/global-logout)
  2. 此端点调用 FusionAuth 中的 /api/logout 端点
  3. 每个想要收到通知的应用程序然后编写一个 Webhook 并处理 jwt.refresh-token.revoke 事件

您可以在文档 link 中看到一个 Webhook 示例。处理 jwt.refresh-token.revoke 事件的 Webhook 在 Node/JavaScript 中可能如下所示:

router.route('/fusionauth-webhook').post((req, res) => {
  const request = req.body;
  if (request.event.type === 'jwt.refresh-token.revoke') {
    // Clean up all the user's stuff here
  }
});