我有一个react native应用程序,其中我使用Web视图从Keycloak进行身份验证,成功身份验证后,它设置了一些cookie,我重定向到react native应用程序屏幕,然后其中一个屏幕调用后端使用axios网络库拉取数据,在那个请求中,即使我指定了withCredentials,cookie也没有被发送到后端:如果请求头中的值为true,则服务器拒绝该API调用,为什么web视图cookie未包含在axios请求中。它正在使用localhost服务器,但不测试服务器
dxxyhpgq1#
在cookie上。请确保cookie的“SameSite”设置。请参阅下面的https://andrewlock.net/understanding-samesite-cookies/解释:Lax表示不针对跨站点请求(如加载图像或帧的请求)发送Cookie,而是在用户从外部站点导航到源站点时(例如,在访问链接时)发送Cookie。“无意味着浏览器发送跨站点和同站点请求的cookie。设置此值时还必须设置Secure属性,如SameSite=None;安全。如果缺少安全,将记录错误”如果您的网站正在使用Cookie,并且位于“some@domain.com”,并且您的服务器位于“another@domain”。如果它是“SameSite=Lax”,它不会发送cookie。当您在本地测试它时,服务器和客户端都在同一个“域”(localhost)上。希望这对你有帮助。
1条答案
按热度按时间dxxyhpgq1#
在cookie上。请确保cookie的“SameSite”设置。
请参阅下面的https://andrewlock.net/understanding-samesite-cookies/解释:
Lax表示不针对跨站点请求(如加载图像或帧的请求)发送Cookie,而是在用户从外部站点导航到源站点时(例如,在访问链接时)发送Cookie。
“无意味着浏览器发送跨站点和同站点请求的cookie。设置此值时还必须设置Secure属性,如SameSite=None;安全。如果缺少安全,将记录错误”
如果您的网站正在使用Cookie,并且位于“some@domain.com”,并且您的服务器位于“another@domain”。如果它是“SameSite=Lax”,它不会发送cookie。当您在本地测试它时,服务器和客户端都在同一个“域”(localhost)上。
希望这对你有帮助。