Class CookieCallbackHandler
java.lang.Object
tech.riemann.nif.oidc.callback.CookieCallbackHandler
- All Implemented Interfaces:
CallbackHandler
基于Cookie的回调处理器
处理OAuth授权回调,将用户信息通过Cookie方式存储到客户端
主要功能: 1. 使用授权码和codeVerifier完成OIDC登录 2. 通过AuthService将Token写入Cookie 3. 重定向到登录成功页面或原始请求页面
使用场景: - 适用于传统的Web应用,使用Cookie进行会话管理 - 前端不需要处理Token,由浏览器自动携带Cookie
- Author:
- Kerbores(kerbores@riemann.tech)
-
Constructor Details
-
CookieCallbackHandler
public CookieCallbackHandler()
-
-
Method Details
-
cookieSameSite
Description copied from interface:CallbackHandlerOIDC 会话 Cookie 的 SameSite 策略(M14,默认 Lax)删除 cookie 需与写入时使用同一策略;子类可覆写返回配置值
- Specified by:
cookieSameSitein interfaceCallbackHandler- Returns:
- SameSite 策略(删除 cookie 时与写入保持一致)
-
handle
public void handle(jakarta.servlet.http.HttpServletRequest request, jakarta.servlet.http.HttpServletResponse response) 处理OAuth回调执行流程: 1. 校验回调 state(防登录 CSRF) 2. 使用授权码和codeVerifier完成OIDC登录(service 内部完成 id_token 的 nonce 校验) 3. 验证用户信息是否有效 4. 通过AuthService登录(写入Cookie) 5. 重定向到成功页面或原始页面
- Specified by:
handlein interfaceCallbackHandler- Parameters:
request- HTTP请求对象response- HTTP响应对象
-
from
获取登录前的页面URL从Cookie中获取"from"参数(控制器写入,见 OpenIDConnectController.FROM_COOKIE), 表示用户登录前所在的页面
- Parameters:
request- HTTP请求对象- Returns:
- 登录前的页面URL,如果不存在则返回null
-