繁体   English   中英

跨域请求的Cookie

[英]Cookies on cross domain requests

我在domain.com上托管了一个网络应用程序,它有一个注册表单。

当用户完成注册表单时,Web应用程序将调用app.domain.com上托管的Api。

Api是一个POST请求,使用JavaScript的XmlHttpRequest调用,响应包含Set-Cookie标头。

但是,当我检查app.domain.com上的cookie时,Api请求中收到的cookie现在存在。

我认为浏览器会自动处理cookie,因为对app.domain.com的请求返回Set-Cookie标头,浏览器会在app.domain.com的所有后续请求中包含cookie。

Api请求

Request URL:https://app.domain.com/api/account/subscribe
Request Method:POST

Api响应

Set-Cookie:.AspNet.ExternalBearer=DlOvLGlPLlMWO4mXUcH9ieWNSTpRZ80hhWEKXrFUN-BOfwUsVu4x4qNXizpvdRWA4eIyijsmQARICLPOC-spzXjEVzz-WvO2ZsnSR30kM65dpkALqCUn2OgU2Zqc-fF5mESeYCEDeBCbHuSedCNqWfCIUX3mbeoI3vMu1086YwsinlnUkGe4gC9Ggk44N0PPuoh3J1xl85zUVhd9AsoaUspPzX2zlzkPmJMyb3shx9VlE8dx0ePQLuQhbHfnQdt8L5I5W9NK8uM3lJtHWKvR5lszd7AyuMDmX1N_MA7fGRAHCsW8FcCCvzeM9oH3c5zZU0uLKQKT5NZF8QyUdDGq6H6U5dPhm5FLTmsCw3qfLGXvIbO8uu-9p__VdEmvgr60D78uWrg6K-akNYNQDHVWvNyVdOYwM8N2H3l0hiTV8GveiZV-WpI4VSGFoOr821H8PRj1eC6UT6GiTFeksp7JmFLKuVLx8YY6uLcQYldQQUKDnvSiteZbwVg-DSYnGW9FdN3t9AdbUaW3mjFTCz_of5utAO9Fl8TFS02GucZLMCFEfxBkHh9qcmWUMrauWOLl59huTAFYDoCGG9pi06Hvm7ggF3H4oP-fXyFe85AsRC4; domain=app.domain.com; path=/; secure; HttpOnly

app.domain.com的后续请求中不包含cookie

那么,缺少什么?

谢谢!

您需要为cookie设置withCredentials标志,以便在进行跨域请求时正常工作。

https://developer.mozilla.org/en-US/docs/Web/API/XMLHttpRequest/withCredentials

此外,此标志还用于指示何时在响应中忽略cookie。

您必须在cookie中明确设置域。

Set-Cookie: name=value; domain=domain.com

到这里了解更多详情。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM