FusionAuth 是否提供单点退出?
Does FusionAuth provide a single signout?
似乎无法找到让 FusionAuth 向应用程序发送信号以在注销时终止用户会话的任何内容。
FusionAuth 在 /api/logout
处提供了一个可能有效的 API。此 API 将撤销用户拥有的任何刷新令牌。当刷新令牌被撤销时,FusionAuth 将向任何已配置的 Webhook 发送一个事件。
这是关于此 API、Webhook 和触发的事件的文档:
- https://fusionauth.io/docs/v1/tech/apis/login#logout-a-user
- https://fusionauth.io/docs/v1/tech/events-webhooks/events#jwt-refresh-token-revoke
- https://fusionauth.io/docs/v1/tech/events-webhooks/writing-a-webhook
以下是您可以执行的粗略步骤:
- 在您的应用程序或新的微服务中创建注销端点 (
https://example.com/global-logout
)
- 此端点调用 FusionAuth 中的
/api/logout
端点
- 每个想要收到通知的应用程序然后编写一个 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
}
});
似乎无法找到让 FusionAuth 向应用程序发送信号以在注销时终止用户会话的任何内容。
FusionAuth 在 /api/logout
处提供了一个可能有效的 API。此 API 将撤销用户拥有的任何刷新令牌。当刷新令牌被撤销时,FusionAuth 将向任何已配置的 Webhook 发送一个事件。
这是关于此 API、Webhook 和触发的事件的文档:
- https://fusionauth.io/docs/v1/tech/apis/login#logout-a-user
- https://fusionauth.io/docs/v1/tech/events-webhooks/events#jwt-refresh-token-revoke
- https://fusionauth.io/docs/v1/tech/events-webhooks/writing-a-webhook
以下是您可以执行的粗略步骤:
- 在您的应用程序或新的微服务中创建注销端点 (
https://example.com/global-logout
) - 此端点调用 FusionAuth 中的
/api/logout
端点 - 每个想要收到通知的应用程序然后编写一个 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
}
});