signInWithWebView method

  1. @override
Future signInWithWebView(
  1. BuildContext context
)
override

Implementation

@override
Future<dynamic> signInWithWebView(BuildContext context) async {
  return await Navigator.of(context).push(
    MaterialPageRoute(
      builder: (context) => SocialSignInPageDesktop(
        url: authUrl(),
        redirectUrl: redirectUrl,
        userAgent: pageInfo.userAgent,
        title: pageInfo.title,
        centerTitle: pageInfo.centerTitle,
        onPageFinished: (String url) {
          if (url.contains("error=")) {
            throw Exception(Uri.parse(url).queryParameters["error"]);
          } else if (url.startsWith(redirectUrl)) {
            var uri = Uri.parse(url);
            if (uri.queryParameters.containsKey('code') &&
                uri.queryParameters.containsKey('state') &&
                uri.queryParameters['state'] == stateCode) {
              return uri.queryParameters["code"];
            }
            return "";
          }
          return null;
        },
      ),
    ),
  );
}