跳转到主要内容

TiddlyWeb的CORS预检支持

项目描述

为TiddlyWeb提供CORS预检支持的插件。

这是一个实验,功能有限。随着测试用例的增加,功能将增加。

要使用,请将‘tiddlywebplugins.cors’添加到tiddlywebconfig.py中的‘system_plugins’。

有几个可选的配置设置

如果‘cors.match_origin’为True,则Origin头的值将在简单请求中与Access-Control-Allow-Origin头的值相同。在非简单请求中,它总是匹配。如果为False,则在简单请求中的值为‘*’。

如果‘cors.allow_creds’为True,则Access-Control-Allow-Credentials头将发送一个值为‘true’的值,否则将不会发送。

如果设置了‘cors.exposed_headers’,它应该是一个表示头名称的字符串列表,这些头名称将被附加到默认的Access-Control-Expose-Headers: ETag。这个列表也用于设置默认的Access-Control-Allow-Headers。

如果‘cors.enable_non_simple’为True,则处理preflight OPTIONS请求。默认为False以避免意外暴露。

对于资源跨域PUT的认证,以下配置似乎是必需的

‘cors.enable_non_simple’: True, ‘cors.allow_creds’: True, ‘cors.match_origin’: True,

match_origin设置对于有效地处理OPTIONS预检请求是必需的。

待办事项

  • 处理Access-Control-Request-Headers的黑名单/白名单。

  • 与某人审计以确认这些内容是否“正确”。

  • 重构两个中间件。它们有相当大的重叠。它可以变成一个同时操作在内部应用程序两端的中间件,但我发现这可能会令人困惑。

版权所有 2012,Chris Dent <cdent@peermore.com>

项目详情


下载文件

下载适用于您的平台的文件。如果您不确定选择哪个,请了解更多关于安装包的信息。

源分布

tiddlywebplugins.cors-0.3.tar.gz (9.4 kB 查看哈希值)

上传时间: 来源

支持者