回复
     OAuth2.0实战!玩转认证、资源服务异常自定义这些骚操作!(四)
love374
 发布于 2022-7-11 11:42
 浏览
 0收藏
2、客户端ID、秘钥异常
这部分比较复杂,想要理解还是需要些基础的,解决这个异常的方案很多,陈某只是介绍其中一种,下面详细介绍。
1、定制提示信息、响应码
这部分根据自己业务需要定制,陈某这里只是给出个例子,代码如下:
 
2、自定义AuthenticationEntryPoint
这个AuthenticationEntryPoint是不是很熟悉,前面的文章已经介绍过了,此处需要自定义来返回定制的提示信息。
创建OAuthServerAuthenticationEntryPoint,实现AuthenticationEntryPoint,重写其中的方法,代码如下:
 
3、改造ClientCredentialsTokenEndpointFilter
ClientCredentialsTokenEndpointFilter这个过滤器的主要作用就是校验客户端的ID、秘钥,代码如下:

有几个重要的部分需要讲一下,如下:
- 构造方法中需要传入第2步自定义的 OAuthServerAuthenticationEntryPoint
 - 重写 getAuthenticationManager() 方法返回IOC中的AuthenticationManager
 - 重写afterPropertiesSet() 方法,用于自定义认证失败、成功处理器,失败处理器中调用OAuthServerAuthenticationEntryPoint进行异常提示信息返回
 
4、OAuth配置文件中指定过滤器
只需要将自定义的过滤器添加到AuthorizationServerSecurityConfigurer中,代码如下:
 
第①部分是添加过滤器,其中authenticationEntryPoint使用的是第2步自定义的OAuthServerAuthenticationEntryPoint
第②部分一定要注意:一定要去掉这行代码,具体原因源码解释。
“案例源码已经上传GitHub,关注公众号:码猿技术专栏,回复关键词:9529 获取!”
文章转自公众号:码猿技术专栏
标签 
  已于2022-7-11 11:42:23修改
 
        赞
        
 
        收藏 
      
 回复
  相关推荐
 



















