resolveAuthSessionExpiry function

DateTime? resolveAuthSessionExpiry({
  1. Duration? sessionMaxAge,
  2. int? sessionOptionsMaxAgeSeconds,
  3. DateTime? now,
})

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));
}