ensureUpdatedToken method

  1. @override
Future<AuthUser<OAuthToken>?> ensureUpdatedToken(
  1. AuthUser<OAuthToken> user
)
override

Ensure that the given user has an updated token. Must return a user with a new token if the current user's token has expired.

Implementation

@override
Future<AuthUser<OAuthToken>?> ensureUpdatedToken(AuthUser<OAuthToken> user) {
  if (user.token.isExpired) {
    return appAuth
        .token(
          TokenRequest(
            clientId,
            redirectUrl,
            clientSecret: clientSecret,
            refreshToken: user.token.refreshToken,
            scopes: scopes,
            issuer: issuer,
          ),
        )
        .then(_mapResponseToUser);
  } else {
    return Future.value(user);
  }
}