mirror of
https://github.com/rustdesk/rustdesk.git
synced 2026-11-05 16:38:17 +00:00
feat: add connections without sending passwords
Add Without password actions and pass the selection through desktop, mobile and Web sessions. Omit the password when constructing LoginRequest, preserve saved credentials, and reuse the existing approval and OS login dialogs. Keep protocol and controlled-side authentication changes separate.
This commit is contained in:
1 parent
ef827fdb34
commit
956031d109
87 files changed
+853
-23
No files matched your search
@@ -225,6 +225,7 @@ class RustDeskMultiWindowManager {
|
||||
String remoteId,
|
||||
List<int> windows, {
|
||||
String? password,
|
||||
String loginMethod = '',
|
||||
bool? forceRelay,
|
||||
String? switchUuid,
|
||||
bool? isRDP,
|
||||
@@ -249,6 +250,9 @@ class RustDeskMultiWindowManager {
|
||||
if (connToken != null) {
|
||||
params['connToken'] = connToken;
|
||||
}
|
||||
if (loginMethod.isNotEmpty) {
|
||||
params['loginMethod'] = loginMethod;
|
||||
}
|
||||
final msg = jsonEncode(params);
|
||||
|
||||
// separate window for file transfer is not supported
|
||||
@@ -270,6 +274,7 @@ class RustDeskMultiWindowManager {
|
||||
Future<MultiWindowCallResult> newRemoteDesktop(
|
||||
String remoteId, {
|
||||
String? password,
|
||||
String loginMethod = '',
|
||||
bool? isSharedPassword,
|
||||
String? switchUuid,
|
||||
bool? forceRelay,
|
||||
@@ -280,6 +285,7 @@ class RustDeskMultiWindowManager {
|
||||
remoteId,
|
||||
_remoteDesktopWindows,
|
||||
password: password,
|
||||
loginMethod: loginMethod,
|
||||
forceRelay: forceRelay,
|
||||
switchUuid: switchUuid,
|
||||
isSharedPassword: isSharedPassword,
|
||||
@@ -289,6 +295,7 @@ class RustDeskMultiWindowManager {
|
||||
Future<MultiWindowCallResult> newFileTransfer(
|
||||
String remoteId, {
|
||||
String? password,
|
||||
String loginMethod = '',
|
||||
bool? isSharedPassword,
|
||||
bool? forceRelay,
|
||||
String? connToken,
|
||||
@@ -299,6 +306,7 @@ class RustDeskMultiWindowManager {
|
||||
remoteId,
|
||||
_fileTransferWindows,
|
||||
password: password,
|
||||
loginMethod: loginMethod,
|
||||
forceRelay: forceRelay,
|
||||
isSharedPassword: isSharedPassword,
|
||||
connToken: connToken,
|
||||
@@ -308,6 +316,7 @@ class RustDeskMultiWindowManager {
|
||||
Future<MultiWindowCallResult> newViewCamera(
|
||||
String remoteId, {
|
||||
String? password,
|
||||
String loginMethod = '',
|
||||
bool? isSharedPassword,
|
||||
String? switchUuid,
|
||||
bool? forceRelay,
|
||||
@@ -319,6 +328,7 @@ class RustDeskMultiWindowManager {
|
||||
remoteId,
|
||||
_viewCameraWindows,
|
||||
password: password,
|
||||
loginMethod: loginMethod,
|
||||
forceRelay: forceRelay,
|
||||
switchUuid: switchUuid,
|
||||
isSharedPassword: isSharedPassword,
|
||||
@@ -330,6 +340,7 @@ class RustDeskMultiWindowManager {
|
||||
String remoteId,
|
||||
bool isRDP, {
|
||||
String? password,
|
||||
String loginMethod = '',
|
||||
bool? isSharedPassword,
|
||||
bool? forceRelay,
|
||||
String? connToken,
|
||||
@@ -340,6 +351,7 @@ class RustDeskMultiWindowManager {
|
||||
remoteId,
|
||||
_portForwardWindows,
|
||||
password: password,
|
||||
loginMethod: loginMethod,
|
||||
forceRelay: forceRelay,
|
||||
isRDP: isRDP,
|
||||
isSharedPassword: isSharedPassword,
|
||||
@@ -350,6 +362,7 @@ class RustDeskMultiWindowManager {
|
||||
Future<MultiWindowCallResult> newTerminal(
|
||||
String remoteId, {
|
||||
String? password,
|
||||
String loginMethod = '',
|
||||
bool? isSharedPassword,
|
||||
bool? forceRelay,
|
||||
String? connToken,
|
||||
@@ -375,6 +388,9 @@ class RustDeskMultiWindowManager {
|
||||
"isSharedPassword": isSharedPassword,
|
||||
"connToken": connToken,
|
||||
};
|
||||
if (loginMethod.isNotEmpty) {
|
||||
params['loginMethod'] = loginMethod;
|
||||
}
|
||||
final msg = jsonEncode(params);
|
||||
|
||||
// Always create a new window for terminal
|
||||
|
||||
Reference in new issue
Block a user