更改验签规则
This commit is contained in:
@@ -16,11 +16,13 @@ import javax.servlet.http.HttpServletResponse;
|
||||
import java.io.IOException;
|
||||
|
||||
/**
|
||||
* 强制开放接口必须带应用签名。<br><br>
|
||||
* 强制开放接口必须带应用签名。<br>
|
||||
* <br>
|
||||
* yh-app-auth 的 {@link AppAuthFilter} 设计为「无签名头则放行」(以兼容浏览器 CAS 流),
|
||||
* 但 UserBase 作为用户中心的开放接口({/open/api/**})与内部密钥兜底端点({/oapi/internal/**})
|
||||
* 绝不允许匿名访问。本过滤器在 {@code AppAuthFilter} 之后运行,校验其写入的请求属性:
|
||||
* 已验签(属性存在)则放行,否则返回 401。<br><br>
|
||||
* 已验签(属性存在)则放行,否则返回 401。<br>
|
||||
* <br>
|
||||
* 顺序须晚于 {@code AppAuthFilter}(HIGHEST_PRECEDENCE+10),故置为 +11。
|
||||
*/
|
||||
@Configuration
|
||||
@@ -30,7 +32,11 @@ public class OpenApiAuthEnforceConfiguration {
|
||||
public FilterRegistrationBean<RequireAppSignFilter> requireAppSignFilter() {
|
||||
FilterRegistrationBean<RequireAppSignFilter> bean = new FilterRegistrationBean<>();
|
||||
bean.setFilter(new RequireAppSignFilter());
|
||||
bean.addUrlPatterns("/open/api/*", "/oapi/internal/*");
|
||||
// 两个路径体系必须全部强制验签:
|
||||
// 1) /open/api/* : 过渡期旧路径(客户端 404 自动回退时会用)
|
||||
// 2) /oapi/* : 新统一开放前缀(覆盖 /oapi/user/、/oapi/internal/、未来 /oapi/app/
|
||||
// /oapi/group/ 等)
|
||||
bean.addUrlPatterns("/open/api/*", "/oapi/*");
|
||||
bean.setOrder(Ordered.HIGHEST_PRECEDENCE + 11);
|
||||
return bean;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user