resolveAuthSessionExpiry function
Resolves an auth session expiry from explicit or cookie max-age settings.
sessionMaxAge takes precedence, including non-positive values. When it is
absent, only a positive sessionOptionsMaxAgeSeconds produces an expiry;
otherwise the result is null. The optional now is used as supplied.
Implementation
DateTime? resolveAuthSessionExpiry({
Duration? sessionMaxAge,
int? sessionOptionsMaxAgeSeconds,
DateTime? now,
}) {
final current = now ?? DateTime.now();
if (sessionMaxAge != null) {
return current.add(sessionMaxAge);
}
final maxAge = sessionOptionsMaxAgeSeconds;
if (maxAge == null || maxAge <= 0) {
return null;
}
return current.add(Duration(seconds: maxAge));
}