getAccountFromAuthCode method

  1. @override
Future<OAuthAccount> getAccountFromAuthCode(
  1. WebAuthenticator authenticator
)
override

Implementation

@override
Future<OAuthAccount> getAccountFromAuthCode(
    WebAuthenticator authenticator) async {
  var auth = authenticator as FacebookAuthenticator;
  OAuthResponse result;
  if (isUsingNative) {
    result = new OAuthResponse(
        "Bearer", auth.expiration, auth.authCode, auth.authCode, null);
  } else {
    var postData = await authenticator.getTokenPostData(clientSecret);
    var url = addParameters(Uri.parse(tokenUrl!), postData);
    var resp = await this.httpClient.get(url);
    var map = convert.json.decode(resp.body);
    result = OAuthResponse.fromJson(map);
  }
  var account = OAuthAccount(identifier,
      created: DateTime.now().toUtc(),
      expiresIn: result.expiresIn,
      idToken: result.idToken,
      refreshToken: result.refreshToken,
      scope: authenticator.scope,
      tokenType: result.tokenType,
      token: result.accessToken);
  return account;
}