在flutter应用程序中保存jwt令牌的最佳方法是什么?

问题描述 投票:2回答:2

不只是在哪里(sqlite ...)而且还有(libs,最佳特定实践)?

sqlite flutter jwt token
2个回答
1
投票

您可能不希望将敏感数据存储在共享首选项中。相反,你可能想要查看这样的插件:https://pub.dartlang.org/packages/flutter_secure_storage

import 'package:flutter_secure_storage/flutter_secure_storage.dart';

// Create storage
final storage = new FlutterSecureStorage();

// Write value 
await storage.write(key: 'jwt', value: token);

2
投票

使用https://pub.dartlang.org/packages/shared_preferences最适合您,因为它“为简单数据提供持久存储”。

示例代码:

import 'package:flutter/material.dart';
import 'package:shared_preferences/shared_preferences.dart';

void main() {
  runApp(MaterialApp(
    home: Scaffold(
      body: Center(
      child: RaisedButton(
        onPressed: _getAndSaveToken,
        child: Text('Get token'),
        ),
      ),
    ),
  ));
}

_getAndSaveToken() async {
  SharedPreferences prefs = await SharedPreferences.getInstance();
  String token = await _getTokenFromHttp();
  await prefs.setInt('jwt', token);
}

Future<String> _getTokenFromHttp() async {
  // http code here
}
© www.soinside.com 2019 - 2024. All rights reserved.