Future<String> get idToken async { if (!isSignedIn) throw SignedOutException(); if (_tokenStore.expiry! .subtract(_tokenExpirationThreshold) .isBefore(DateTime.now().toUtc())) { await _refresh(); } return _tokenStore.idToken!; }