public class Auth2ResponseExceptionTranslator extends Object implements org.springframework.security.oauth2.provider.error.WebResponseExceptionTranslator<com.yishuifengxiao.common.tool.entity.Response<Object>>
自定义异常转换类
主要解决失效的token导致401的问题
传递失效access_token,返回401状态,期望是200同时以错误码方式提示token失效。
排查:经过单步调试分析源码发现,token失效后,认证服务器会抛出异常,同时响应给资源服务器,资源服务发现认证服务器的错误后会抛出InvalideException。
抛出的异常会经过默认的DefaultWebResponseExceptionTranslator 处理然后 Reseponse给Client端。
解决:通过上面的分析指导。最后的异常是在DefaultWebResponseExceptionTranslator 处理的,所以只需要
自定义实现类Implements WebResponseExceptionTranslator 接口处理异常装换逻辑,
使得自定义的类生效
该类型会被Oauth2Resource收集,经过public void configure(ResourceServerSecurityConfigurer resources)注入到oauth2中,
经过 参见 https://www.cnblogs.com/mxmbk/p/9782409.html| Constructor and Description |
|---|
Auth2ResponseExceptionTranslator() |
| Modifier and Type | Method and Description |
|---|---|
org.springframework.http.ResponseEntity<com.yishuifengxiao.common.tool.entity.Response<Object>> |
translate(Exception e) |
public org.springframework.http.ResponseEntity<com.yishuifengxiao.common.tool.entity.Response<Object>> translate(Exception e)
translate in interface org.springframework.security.oauth2.provider.error.WebResponseExceptionTranslator<com.yishuifengxiao.common.tool.entity.Response<Object>>Copyright © 2021. All rights reserved.