【发布时间】:2021-01-08 15:07:22
【问题描述】:
我正在尝试找出一种方法来根据后端端点前端会命中的不同 CORS 规则。
所以我可以拥有
/api 端点与 CORS 域白名单和
/public-api 没有 CORS 域白名单。
这是必需的,因为我有两个用于我自己的前端的内部端点,以及一个可以安装在任何第 3 方域中的公共 JS 小部件。
我查看了 django-cors-headers 库,但它是正则表达式配置
CORS_ORIGIN_REGEX_WHITELIST = []
允许来自域列表的请求通过。
就我而言,我需要一种方法来使用正则表达式(或其他方法)来让请求通过或不通过我的端点。
【问题讨论】:
-
我不确定您如何处理请求 cors 标头。但是对于响应 cors 标头,您可以创建自定义中间件并在视图(或装饰器)中设置一些参数,并且基于它自定义中间件将更改响应中的标头。中间件参考github.com/adamchainz/django-cors-headers/blob/master/src/… 所以你的装饰器可以像 django 中的
csrf_exempt。
标签: django cors django-cors-headers