首页 文章

在预检请求中发送凭据(CORS)

提问于
浏览
1

我必须使用内容类型JSON制作CORS . 这使浏览器首先发送OPTIONS请求,指定原点等 . 然后服务器应该回答允许的域,方法等 . 如果顺利,浏览器发送实际请求 .

我的问题是服务器需要对实际请求进行身份验证,但也需要OPTIONS请求 . 但是浏览器不会使用OPTIONS请求发送身份验证标头 .

我正在使用JQuery和ajax()函数 . 我尝试添加“withCredentials:true”,并添加Authorization标头,但这不会影响OPTIONS请求,它仍然不会发送任何凭据 .

有任何想法吗?提前致谢 .

2 回答

  • 2

    预检请求仅用于验证是否允许CORS请求本身 . 因此,cookie不会包含在预检请求中 . 您必须在实际请求期间验证用户 .

  • 1

    实际上,如果withCredentials = true,Chrome将发送带有预检请求的cookie,而Firefox则不会 . 听起来他们已经以不同方式实施了规范 .

相关问题