首先,认证服务器发送请求
http://auth.test.com:8085/logout?redirect_uri=http://admin.test.com:8080’
退出后报404无法跳转到网站首页,这个时候增加一个参数redirect_uri指定退出成功后跳转的路径,因为是自定义的,所以需在认证服务器做一些处理
找到源码默认实现接口DefaultLogoutPageGeneratingFilter,按照源码中的包名+类名拷贝到本地,根据类加载机制,如果本地存在一个一样的类就会先加载本地不会加载源码包中的默认实现,并修改默认实现让其执行一个自动提交表单,当用户发送logout请求时自动提交一个表单,redirect_uri当作一个隐藏域同时提交
写一个退出成功后的处理器,拿到请求携带的redirect_uri参数并进行页面跳转
/**
* 自定义,用户退出成功后需要处理的handler
*/
@Component
@Slf4j
public class OAuthLogoutSuccessHandler