getToken method

Future<String?> getToken()

Returns token from prefs (or null)

Implementation

Future<String?> getToken() async {
  try {
    final prefs = await SharedPreferences.getInstance();
    final token = prefs.getString(_kTokenKey);
    final savedAtMs = prefs.getInt(_kTokenSavedAtKey);
    if (token == null || token.isEmpty || savedAtMs == null) return null;

    final savedAt = DateTime.fromMillisecondsSinceEpoch(savedAtMs);
    final age = DateTime.now().difference(savedAt);
    if (age >= _kTokenExpiry) {
      // expired
      await clearAuth();
      return null;
    }
    return token;
  } catch (e) {
    debugPrint?.call('AuthService.getToken: $e');
    return null;
  }
}