toStore method

Future<OAuthToken> toStore(
  1. AccessTokenResponse response
)
override

Implementation

Future<OAuthToken> toStore(AccessTokenResponse response) async {
  SharedPreferences preferences = await SharedPreferences.getInstance();
  preferences.setString(atKey, response.accessToken);
  preferences.setInt(atExpiresAtKey,
      DateTime.now().millisecondsSinceEpoch + response.expiresIn * 1000);

  final refreshToken = response.refreshToken;
  final refreshTokenExpiresIn = response.refreshTokenExpiresIn;
  if (refreshToken != null && refreshTokenExpiresIn != null) {
    preferences.setString(rtKey, refreshToken);
    preferences.setInt(rtExpiresAtKey,
        DateTime.now().millisecondsSinceEpoch + refreshTokenExpiresIn * 1000);
  }

  final scopes = response.scopes;
  if (scopes != null) {
    preferences.setStringList(scopesKey, scopes.split(' '));
  }
  return fromStore();
}