feat: add mx login mode selection
This commit is contained in:
@@ -44,7 +44,7 @@ final class RemoteLoginUrlClient
|
||||
*/
|
||||
public static function buildCommand(Settings $settings, LoginUrlRequest $request): array
|
||||
{
|
||||
return [
|
||||
$base = [
|
||||
'ssh',
|
||||
'-o',
|
||||
'BatchMode=yes',
|
||||
@@ -59,6 +59,23 @@ final class RemoteLoginUrlClient
|
||||
'-p',
|
||||
(string)$settings->sshPort(),
|
||||
$settings->sshUser() . '@' . $settings->sshHost(),
|
||||
];
|
||||
|
||||
if ($settings->mxLoginMode() === 1) {
|
||||
$command = array_merge($base, [
|
||||
'/usr/bin/da',
|
||||
'login-url',
|
||||
'--user=' . $request->username,
|
||||
'--redirect-url=' . $request->redirectPath,
|
||||
'--expiry=' . $request->ttl . 's',
|
||||
]);
|
||||
if ($request->userIpBound) {
|
||||
$command[] = '--ip=' . $request->clientIp;
|
||||
}
|
||||
return $command;
|
||||
}
|
||||
|
||||
return array_merge($base, [
|
||||
'mail-login-create-url',
|
||||
$request->username,
|
||||
$request->sourceHost,
|
||||
@@ -68,7 +85,7 @@ final class RemoteLoginUrlClient
|
||||
$request->clientIp,
|
||||
$request->redirectPath,
|
||||
(string)$request->createdAt,
|
||||
];
|
||||
]);
|
||||
}
|
||||
|
||||
public function create(Settings $settings, LoginUrlRequest $request): string
|
||||
|
||||
Reference in New Issue
Block a user