diff --git a/flutter/lib/web/bridge.dart b/flutter/lib/web/bridge.dart index 1cfce661b..3d52e7d5d 100644 --- a/flutter/lib/web/bridge.dart +++ b/flutter/lib/web/bridge.dart @@ -1538,10 +1538,13 @@ class RustdeskImpl { Future mainAccountAuth( {required String op, required bool rememberMe, dynamic hint}) { - return Future(() => js.context.callMethod('setByName', [ + // Safari only allows auth popups while handling the original user gesture. + // Call into JS synchronously so the web OIDC flow can pre-open the window. + js.context.callMethod('setByName', [ 'account_auth', jsonEncode({'op': op, 'remember': rememberMe}) - ])); + ]); + return Future.value(); } Future mainAccountAuthCancel({dynamic hint}) {