【问题标题】:Flutter - Save token in the response header in sharedpreferenceFlutter - 在共享首选项的响应标头中保存令牌
【发布时间】:2020-11-18 14:51:51
【问题描述】:

如何在下面的sharedpreference.im共享代码中保存响应标头中传递的令牌:

Future<DriverModel> _handleLogin(Int country_code, Int phone, String password) async {
var jsonData = null;
SharedPreferences sharedPreferences = await SharedPreferences.getInstance();
Map data = {
  'phone': {
    'country_code': country_code,
    'phone': phone,
  },
  'password': password,
};
var body = json.encode(data);
final response = await http.post(
  AuthApi.login,
  headers: {"Content-Type": "application/json"},
  body: body,
);
if (response.statusCode == 200) {
  print(response.headers.entries);
  
  return DriverModel.fromJson(jsonData);
} else {
  return DriverModel.fromJson(jsonData);
}

}

【问题讨论】:

标签: api flutter


【解决方案1】:

获得令牌后,将其传递给以下函数。

updateToken(String token) async {
  SharedPreferences prefs = await SharedPreferences.getInstance();
  prefs.setString('token', token);
}

但据我所知,不应将令牌等凭据保存到共享首选项中,而应使用flutter secured storage

import 'package:flutter_secure_storage/flutter_secure_storage.dart';

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

// Unique key for token
final keyToken = 'token';

// Write token value 
await storage.write(key: keyToken , value: tokenValue);

// Read token value 
String value = await storage.read(key: keyToken );

【讨论】:

    【解决方案2】:
     token_read() async {
     final prefs = await SharedPreferences.getInstance();
     final key = 'token';
     final read_value = prefs.getString(key) ?? 0;
     print('read: $read_value');
    return read_value;
      }
    
    token_save(token) async {
    final prefs = await SharedPreferences.getInstance();
    final key = 'token';
    final value = token;
    prefs.setString(key, value);
    print('saved $value');
    }
    

    //读取令牌

    var readToken = await token_read();
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-10-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-06-17
      相关资源
      最近更新 更多