# 回调端点
为了处理 web 应用程序的认证,需要回调端点来接收来自认证服务器的回调调用并完成登录过程。
对于间接客户端(如 Facebook),用户将被重定向到外部认证提供者进行登录,然后返回回调端点上的应用程序。
# 1)行为
默认情况下,它依赖于具有以下行为的 DefaultCallbackLogic
:
- 从当前请求中提取凭据以获取用户配置文件(从认证提供者),然后将其保存(或不保存)在 web 会话中
- 最后,用户被重定向回最初请求的 URL(或
defaultUrl
)。
# 2)选项
以下选项可用于回调端点。它们可以通过 setter
、构造函数、servlet
参数等来定义,具体取决于 pac4j 的实现:
# a)config
参阅安全配置
# b)defaultUrl
如果没有原始请求的URL,则登录后是默认 URL。它是一个可选参数,默认情况下等于 /
。
# c)renewSession
它指示登录后是否必须刷新 web 会话,以避免会话劫持。它是一个可选参数,默认为 true
。
# d)defaultClient
它定义了如果 URL 上没有提供客户端,用于完成登录流程的默认客户端。它是一个可选参数,默认情况下未定义。
# 3)注销
使用注销端点,你可以触发本地和中央注销过程。然而,如果在认证提供程者中发生了“单点注销”过程,则该回调端点将接收注销请求(带有某些会话密钥)以销毁应用程序会话。
# 4)高级选项
高级选项可在以下地方设置:
Config
级别- 直接在安全过滤器级别,通过
setter
、构造函数、servlet
参数等……取决于 pac4j 实现:
# a)sessionStore
你可以定义一个特定的 SessionStore 来替代 pac4j 默认实现。
# b)httpActionAdapter
你可以定义一个特定的 HttpActionAdapter 来替代 pac4j 默认实现。
# c)callbackLogic
你可以定义特定的 CallbackLogic
来替代默认的 DefaultCallbackLogic
。
# d)webContextFactory
你可以定义特定的 WebContextFactory,来替代 pac4j 默认实现。