refreshSessionIfNeeded method
Called by the session manager to conditionally refresh the active session.
Implementation
@override
Future<void> refreshSessionIfNeeded() async {
final session = _session;
if (session != null && shouldRefresh(session)) {
_logger?.log(level: DescopeLogger.info, message: 'Refreshing session that is about to expire', values: [session.sessionToken.expiresAt]);
final response = await _auth.refreshSession(session.refreshJwt);
if (_session != session) {
_logger?.log(level: DescopeLogger.info, message: 'Skipping refresh because session has changed in the meantime');
return;
}
session.updateTokens(response);
}
}