CORS

Cross Origin Resource Sharing (CORS)是现代浏览器执行的附加安全检查,以防止不同域之间的未授权请求。

在实现webapi时,通常还必须实现CORS策略。因此,Falcon提供了一种简单的方法,通过传递给 falcon.Appfalcon.asgi.App .

默认情况下,Falcon的内置CORS支持被禁用,因此浏览器将阻止任何跨源请求。经过 cors_enable=True 将导致框架包含必要的响应头,以允许从任何来源访问应用程序中的任何路由。个别响应程序可以通过设置 Access-Control-Allow-Origin 头显式。

无论您是否实现CORS策略,我们都建议在适当的地方设置一个健壮的AuthN/Z层,以便根据需要授权单个客户端,以保护敏感资源。

直接通过 falcon.CORSMiddleware 应用程序的中间件允许定制所应用的CORS策略。中间件允许定制允许的来源,是否允许凭证以及是否可以公开额外的头。

使用

import falcon

# Enable a simple CORS policy for all responses
app = falcon.App(cors_enable=True)

# Enable CORS policy for example.com and allows credentials
app = falcon.App(middleware=falcon.CORSMiddleware(
    allow_origins='example.com', allow_credentials='*'))
import falcon.asgi

# Enable a simple CORS policy for all responses
app = falcon.asgi.App(cors_enable=True)

# Enable CORS policy for example.com and allows credentials
app = falcon.asgi.App(middleware=falcon.CORSMiddleware(
    allow_origins='example.com', allow_credentials='*'))

CORSMiddleware