performOAuthFlow static method
Future<AuthorizationTokenResponse?>
performOAuthFlow(
- BuildContext context,
- OAuthProvider provider, {
- Widget? loadingWidget,
- Color? backgroundColor,
- void onError()?,
Performs the OAuth authentication flow using a WebView.
Shows a WebView for user authentication and handles the redirect. Returns an AuthorizationTokenResponse if successful, null otherwise.
Implementation
static Future<AuthorizationTokenResponse?> performOAuthFlow(
BuildContext context,
OAuthProvider provider, {
Widget? loadingWidget,
Color? backgroundColor,
void Function(String)? onError,
}) async {
try {
dev.log('Starting OAuth flow for provider: ${provider.name}');
return await Navigator.push(
context,
MaterialPageRoute(
builder: (context) => OAuthWebView(
provider: provider,
loadingWidget: loadingWidget,
backgroundColor: backgroundColor,
),
),
);
} catch (e, stackTrace) {
dev.log(
'OAuth flow error',
error: e,
stackTrace: stackTrace,
);
onError?.call(e.toString());
return null;
}
}