![](/img/trans.png)
[英]Spring security oauth2 - add filter after oauth/token call
[英]Spring OAuth2 Auth Server: a specific /oauth/token filter?
我目前正在检查所有传入的Authorization
标头中的JWT令牌值,以便可以检查这些令牌是否被列入黑名单。 我已经为此实现了一个自定义Filter
。
问题在于该过滤器正在处理进入服务器的所有请求。 我只想处理即将到达/oauth/token
端点的请求。
是否可以在Spring OAuth2 Auth Server中实现该功能?
您的问题有两个方面,一个是“过滤顺序”,两个仅过滤特定的URL路径。 都可以通过使用FilterRegistrationBean
注入过滤器来解决。 请参见下面的示例。
@Bean
public FilterRegistrationBean securityFilter() {
Filter f = new MySecurityFilter();
FilterRegistrationBean frb = new FilterRegistrationBean(f);
frb.setOrder(SecurityProperties.ACCESS_OVERRIDE_ORDER);
frb.setUrlPatterns(Arrays.asList("/oauth/token"));
return frb;
}
这是过滤器优先级的问题。 添加:
@Order(SecurityProperties.ACCESS_OVERRIDE_ORDER)
到您的WebSecurityConfiguration应该可以帮助您。
如果您的自定义过滤器扩展了OncePerRequestFilter
,则可以覆盖shouldNotFilter
方法。
@Override
protected boolean shouldNotFilter(HttpServletRequest request) throws ServletException {
return !new AntPathMatcher().match("/oauth/token", request.getServletPath());
}
从文件
可以在子类中重写以进行自定义过滤控制,返回true以避免过滤给定的请求。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.