# 注销端点
为了处理注销,pac4j 实现提供了一个注销端点,它将工作委托给DefaultLogoutLogic组件。
DefaultLogoutLogic
可以触发:
- 通过从会话中删除 pac4j 配置文件实现本地注销
- 通过调用认证提供者注销端点实现中央注销。这是单点注销(Single-Log-Out=SLO)过程。
# 1)行为
DefaultLogoutLogic
具有以下行为 :
- 如果
localLogout
属性为true
,pac4j profile 将从 web 会话中删除(如果destroySession
属性为true
则 web 会话将被销毁) - 如果注销后操作与
logoutUrlPattern
匹配,则将其计算为url
请求参数的重定向;如果定义了默认 url,则将它计算为defaultUrl
;否则将其作为空白页 - 如果
centralLogout
属性为true
,则会将用户重定向到认证提供者进行中央注销,然后可选地重定向到注销后重定向 URL(如果认证提供者支持并且是绝对 URL)。如果未定义中央注销,则直接执行注销后操作。
# 2)选项
以下选项可用:
# a)config
参阅安全配置
# b)defaultUrl
如果未提供 url
请求参数或 url
与 logoutUrlPattern
不匹配,则为默认的注销 URL。它是一个可选参数,默认情况下未定义。
# c)logoutUrlPattern
url
参数必须匹配的注销 URL 模式。它是一个可选参数,默认情况下只允许相对 URL。
# d)localLogout
它指示是否必须执行本地注销。它是一个可选参数,默认为 true
。
# e)destroySession
它定义了在本地注销期间是否必须销毁 web 会话。它是一个可选参数,默认为 false
。
# f)centralLogout
它定义是否必须执行中央注销。它是一个可选参数,默认为 false
。
# 3)来自认证提供者的注销请求
在中央注销的情况下,认证提供者处发生的 SLO(单点登出)过程将向应用程序发送注销请求。然而,这些注销请求将由回调端点而不是此注销端点接收。