Dart/Flutter认证实现

4

我正在开发一个Flutter移动应用程序的示例。

Flutter / Dart是否有支持持久化安全Cookie的http库。

示例用例(猜测这应该是相当常见的用例):用户登录一次后,应用程序应该能够使用成功登录的安全Cookie直到会话过期/用户退出登录。

在Android上,OkHttp支持持久化Cookie并在客户端(应用程序)向后端发出请求时发送这些持久化Cookie。

在Flutter中实现这个功能最好的方法是什么?

谢谢

2个回答

3

这与Flutter无关,纯粹是Dart:

对于cookies,可以使用dart:io的Cookie类。您可以设置boolean secure属性和boolean httpOnly

至于Http连接,您可以简单地使用dart:http的HttpClient或者您可以使用Flutter的createHttpClient方法,这是Flutter为了测试目的(模拟)而推荐的;如此处所述。


1
我已经发布了一个名为requests的小型Flutter库,以协助处理具有Cookie感知能力的HTTP请求(在shared_preferences的帮助下)。
  • 目前,它使用shared_preferences来存储敏感数据(如会话ID等),这不是最佳实践(从安全角度考虑)问题#1

pubspec.yaml

dependencies:
  requests: ^1.0.0

使用方法:

import 'package:requests/requests.dart';

// ...

// this will persist cookies
await Requests.post("https://example.com/api/v1/login", body: {"username":"...", "password":"..."} ); 

// this will re-use the persisted cookies
dynamic data = await Requests.get("https://example.com/api/v1/stuff", json: true); 

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接