handleRedirect static method

Future<AuthorizationTokenResponse?> handleRedirect(
  1. String url,
  2. OAuthProvider provider
)

Implementation

static Future<AuthorizationTokenResponse?> handleRedirect(
    String url, OAuthProvider provider) async {
  try {
    final uri = Uri.parse(url);
    final code = uri.queryParameters['code'];
    final returnedState = uri.queryParameters['state'];

    if (returnedState != _state) {
      throw Exception('Invalid state parameter');
    }

    if (code != null) {
      return await _exchangeCodeForToken(code, provider);
    } else {
      throw Exception('No authorization code found in redirect URL');
    }
  } catch (e) {
    debugPrint('Error handling redirect: $e');
    return null;
  }
}