您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

对如何处理CORS OPTIONS飞行前要求感到困惑

对如何处理CORS OPTIONS飞行前要求感到困惑

我坐下来调试了一下,org.apache.catalina.filters.CorsFilter以找出禁止该请求的原因。希望这可以在将来帮助某人。

根据W3 CORS规范第6.2节“预检请求”,如果提交的任何标头与允许的标头不匹配,则预检必须拒绝该请求。

CorsFilter默认配置cors.allowed.headers(与您的情况一样)不包括Authorization与请求一起提交的标头。

我更新了cors.allowed.headers过滤器设置以接受authorization标题,并且预检请求现在已成功。

<filter>
  <filter-name>CorsFilter</filter-name>
  <filter-class>org.apache.catalina.filters.CorsFilter</filter-class>
    <init-param>
        <param-name>cors.allowed.headers</param-name>
        <param-value>Content-Type,X-Requested-With,accept,Origin,Access-Control-Request-Method,Access-Control-Request-Headers,Authorization</param-value>
    </init-param>     
</filter>

当然,我不确定为什么authorization认情况下,CORS过滤器不允许使用标头。

其他 2022/1/1 18:20:38 有522人围观

撰写回答


你尚未登录,登录后可以

和开发者交流问题的细节

关注并接收问题和回答的更新提醒

参与内容的编辑和改进,让解决方法与时俱进

请先登录

推荐问题


联系我
置顶