Laravel的cors.php配置文件中supports_credentials参数的含义是什么?
supports_credentials 配置项作用说明 这个参数是Laravel框架CORS(跨域资源共享)中间件的专属配置,最终会映射到HTTP响应头的Access-Control-Allow-Credentials字段,控制跨域场景下的凭证传递规则,两种取值的作用分别如下:
取值为 false(默认值)
- 服务端不会在跨域响应中返回
Access-Control-Allow-Credentials: true头 - 浏览器会直接拦截所有跨域请求携带的凭证类数据,这类数据包括:
- Cookie
- 请求头中的身份认证信息(如JWT Token、HTTP基础认证字段)
- TLS客户端证书
- 适配不需要身份校验的公开接口场景,无额外跨域安全风险
取值为 true
- 服务端会自动在跨域响应中附加
Access-Control-Allow-Credentials: true头 - 浏览器允许跨域请求携带上述凭证类数据,适配需要登录态、身份校验的接口场景
- 必须同时满足两个前置规则,否则会触发浏览器跨域拦截:
- CORS配置中的
allowed_origins不能设为通配符*,必须明确指定允许的跨域源地址,例如['https://admin.example.com'] - 前端发起请求时必须显式开启凭证携带配置:Fetch API需要设置
credentials: 'include',Axios需要设置withCredentials: true
- CORS配置中的
内容的提问来源于stack exchange,提问作者Maik Lowrey
相关产品推荐
相关产品推荐

