signInWithWebView method
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;
},
),
),
);
}