gpt4 book ai didi

session - Flutter 用于 Web Cookie/ token session 和身份验证

转载 作者:行者123 更新时间:2023-12-05 00:10:32 29 4
gpt4 key购买 nike

我正在使用 开发全栈应用程序用于 Web 的 NodeJS 和 Flutter , 目前我不明白如何制作 安全 cookie/ token session .
我需要的答案是如何使用 Flutter For Web 制作身份验证系统 像其他社交网络或 Stackoverflow 本身一样。

最佳答案

进口dart.html flutter 1.9 不直接支持:Reference

我遇到了包裹 universal_html在挖掘解决方案的同时,它对我来说工作正常。下面是我在 Web 上本地存储键值对的辅助类:

import 'package:universal_html/prefer_universal/html.dart';

class WebStorage {

//Singleton
WebStorage._internal();
static final WebStorage instance = WebStorage._internal();
factory WebStorage() {
return instance;
}

String get sessionId => window.localStorage['SessionId'];
set sessionId(String sid) => (sid == null) ? window.localStorage.remove('SessionId') : window.localStorage['SessionId'] = sid;
}

阅读,

WebStorage.instance.sessionId;



来写,

WebStorage.instance.sessionId = 'YOUR_CREDENTIAL';



示例:
fetchPost(params, "CMD_USERREGISTRATION").then((result) {
...
APIResponse response = APIResponse(xmlString: result.body);

if (!response.isSuccess()) {
...
return;
}
var sid = response.getSessionId();

if (kIsWeb) {
WebStorage.instance.sessionId = sid;
}
}

main.dart:
@override
Widget build(BuildContext context) {
if (kIsWeb) {
isLogin = WebStorage.instance.sessionId != null;
} else {
isLogin = //check from SharedPreferences;
}
return isLogin ? dashboardPage() : loginPage();
}

更新:

shared_preferences现在从 0.5.6 版本支持 web。另见 shared_preferences_web

关于session - Flutter 用于 Web Cookie/ token session 和身份验证,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57577071/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com