feat: web oidc (#11755)

Signed-off-by: fufesou <linlong1266@gmail.com>
This commit is contained in:
fufesou 2025-05-14 17:35:50 +08:00 committed by GitHub
parent dad841e493
commit b525185d7f
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
2 changed files with 13 additions and 4 deletions

View File

@ -455,10 +455,14 @@ Future<bool?> loginDialog() async {
resp.user, resp.secret, isEmailVerification);
} else {
setState(() => isInProgress = false);
// Workaround for web, close the dialog first, then show the verification code dialog.
// Otherwise, the text field will keep selecting the text and we can't input the code.
// Not sure why this happens.
if (isWeb && close != null) close(null);
final res = await verificationCodeDialog(
resp.user, resp.secret, isEmailVerification);
if (res == true) {
if (close != null) close(false);
if (!isWeb && close != null) close(false);
return;
}
}

View File

@ -1530,15 +1530,20 @@ class RustdeskImpl {
Future<void> mainAccountAuth(
{required String op, required bool rememberMe, dynamic hint}) {
throw UnimplementedError("mainAccountAuth");
return Future(() => js.context.callMethod('setByName', [
'account_auth',
jsonEncode({'op': op, 'remember': rememberMe})
]));
}
Future<void> mainAccountAuthCancel({dynamic hint}) {
throw UnimplementedError("mainAccountAuthCancel");
return Future(
() => js.context.callMethod('setByName', ['account_auth_cancel']));
}
Future<String> mainAccountAuthResult({dynamic hint}) {
throw UnimplementedError("mainAccountAuthResult");
return Future(
() => js.context.callMethod('getByName', ['account_auth_result']));
}
Future<void> mainOnMainWindowClose({dynamic hint}) {