Performed first authentication
This commit is contained in:
@ -1,5 +1,8 @@
|
||||
import 'dart:convert';
|
||||
|
||||
import 'package:flutter_secure_storage/flutter_secure_storage.dart';
|
||||
import 'package:hooks_riverpod/hooks_riverpod.dart';
|
||||
import 'package:moneymgr_mobile/services/api/api_token.dart';
|
||||
import 'package:riverpod_annotation/riverpod_annotation.dart';
|
||||
|
||||
part 'secure_storage.g.dart';
|
||||
@ -19,11 +22,13 @@ class SecureStorage {
|
||||
const flutterSecureStorage = FlutterSecureStorage();
|
||||
final cache = <String, String>{};
|
||||
await keys
|
||||
.map((key) => flutterSecureStorage.read(key: key).then((value) {
|
||||
if (value != null) {
|
||||
cache[key] = value;
|
||||
}
|
||||
}))
|
||||
.map(
|
||||
(key) => flutterSecureStorage.read(key: key).then((value) {
|
||||
if (value != null) {
|
||||
cache[key] = value;
|
||||
}
|
||||
}),
|
||||
)
|
||||
.wait;
|
||||
return SecureStorage._(flutterSecureStorage, cache);
|
||||
}
|
||||
@ -39,4 +44,19 @@ class SecureStorage {
|
||||
_cache.remove(key);
|
||||
return _flutterSecureStorage.delete(key: key);
|
||||
}
|
||||
|
||||
/// Get auth token
|
||||
ApiToken? token() {
|
||||
final tokenStr = get("token");
|
||||
if (tokenStr != null) {
|
||||
return ApiToken.fromJson(jsonDecode(tokenStr));
|
||||
}
|
||||
}
|
||||
|
||||
/// Set auth token
|
||||
Future<void> setToken(ApiToken token) =>
|
||||
set("token", jsonEncode(token.toJson()));
|
||||
|
||||
/// Remove auth token
|
||||
Future<void> removeToken() => remove("token");
|
||||
}
|
||||
|
Reference in New Issue
Block a user