Flutter 中只能读取和访问 HTTPOnly 会话 cookie?

问题描述 投票:0回答:1

我目前正在使用 Flutter 为 iOS 和 Android 版客户开发一个移动应用程序,该客户的应用程序已经存在于 Web + 中并且已经以 REST API 的形式进行了设置。这个想法是为网站后端和移动应用程序后端使用相同的后端;包括身份验证。 目前,身份验证适用于使用多个仅 http cookie 的 Web 应用程序。因此,我最初认为我需要要求客户在从移动应用程序传入的请求的响应负载中包含 cookie 值,因为我没想到 Flutter 代码可以使用 httponly cookie。

但是我现在注意到,当使用 Dart 的 http 包 时,我实际上可以通过

response.headers
属性(
set-cookie
标头)提取所有 cookie 的值,包括仅 http 的 cookie。至少目前在开发模式下,当使用
flutter run
测试应用程序时,但使用真正的生产 REST API。

这是否正常并且默认适用于所有客户端/设备?那么我们是否必须编写一个解决方法才能在 Flutter 中提取仅限 http 的 cookie 值?

flutter authentication cookies httponly cookie-httponly
1个回答
0
投票

您不应该对 Dart

http
请求有问题,它会转换为 XMLHttpRequests。

请注意,HttpOnly 标志是为了阻止页面加载的 JavaScript 读取附加到最初加载页面的响应的 cookie。

没有什么可以阻止 JavaScript 发出 XMLHttpRequest 并读取该响应的标头(包括 cookie)。

请注意,如果此类请求是跨源的(即 CORS),则有关在响应中可以看到哪些标头的其他规则将发挥作用。只需确保将相关标头添加到服务器添加的 CORS 响应标头中即可。

© www.soinside.com 2019 - 2024. All rights reserved.