recoverSupabaseSession method
Recover/refresh session if it's available e.g. called on a Splash screen when app starts.
Implementation
Future<bool> recoverSupabaseSession() async {
final bool exist =
await SupabaseAuth.instance.localStorage.hasAccessToken();
if (!exist) {
onUnauthenticated();
return false;
}
final String? jsonStr =
await SupabaseAuth.instance.localStorage.accessToken();
if (jsonStr == null) {
onUnauthenticated();
return false;
}
final response =
await Supabase.instance.client.auth.recoverSession(jsonStr);
if (response.error != null) {
SupabaseAuth.instance.localStorage.removePersistedSession();
onUnauthenticated();
return false;
} else {
onAuthenticated(response.data!);
return true;
}
}