TokenKeeper constructor

TokenKeeper({
  1. required TokenStorage storage,
  2. required TokenRefresher refresher,
  3. Duration proactiveWindow = Duration.zero,
  4. Clock clock = const Clock(),
  5. RefreshRetryConfig retryConfig = const RefreshRetryConfig(),
  6. TokenKeeperLogger logger = noopLogger,
})

Creates a keeper.

  • storage persists the current token between calls.
  • refresher performs the actual refresh API call.
  • proactiveWindow — refresh ahead of expiry by this much time. Set to Duration.zero (default) to refresh only after expiry.
  • clock — injectable for tests.
  • retryConfig — controls retries inside a single refresh attempt.
  • logger — observability hook.

Implementation

TokenKeeper({
  required TokenStorage storage,
  required TokenRefresher refresher,
  Duration proactiveWindow = Duration.zero,
  Clock clock = const Clock(),
  RefreshRetryConfig retryConfig = const RefreshRetryConfig(),
  TokenKeeperLogger logger = noopLogger,
})  : _storage = storage,
      _refresher = refresher,
      _proactiveWindow = proactiveWindow,
      _clock = clock,
      _retry = retryConfig,
      _log = logger;