如何使用API​​在不同子域中正确存储Cookie?

我正在单页应用程序中使用身份验证。它有一个React前端和一个flask后端。 API返回一个cookie,然后由浏览器设置。现在,即使我已为cookie提供域值,我也只能使它在同一域上工作。

作品:

UI: http://www.samedomain.com:3000/  
API: http://www.samedomain.com/api/login  
SESSION_COOKIE_DOMAIN: www.samedomain.com

将成功的登录信息发布到登录端点后,该流程将正常工作。创建一个会话cookie,并保持身份验证状态。此Cookie与.www.samedomain.com域值一起存储。

不起作用

UI: http://www.samedomain.com:3000/ 
API: http://backend-api.dev.samedomain.com/api/login  
SESSION_COOKIE_DOMAIN: backend-api.dev.samedomain.com 

我无法进行这种设置。我尝试了各种不同的SESSION_COOKIE_DOMAIN值,但从未创建过cookie。我在前端使用axios库,并将withCredentials标志设置为true。我还在flask API中像这样配置了CORS:

origins = ['http://www.samedomain.com:3000']
CORS(app,origins=origins,supports_credentials=True)

关于如何使不同子域在此流程中工作的任何建议:

bai0131 回答:如何使用API​​在不同子域中正确存储Cookie?

暂时没有好的解决方案,如果你有好的解决方案,请发邮件至:iooj@foxmail.com
本文链接:https://www.f2er.com/3130438.html

大家都在问