mirror of
https://github.com/yuezk/GlobalProtect-openconnect.git
synced 2025-04-02 18:31:50 -04:00
use --browser option
This commit is contained in:
parent
a1c63f8498
commit
f92b04e99a
@ -41,7 +41,7 @@ struct Cli {
|
||||
#[arg(long)]
|
||||
default_browser: bool,
|
||||
#[arg(long)]
|
||||
external_browser: Option<String>,
|
||||
browser: Option<String>,
|
||||
}
|
||||
|
||||
impl Cli {
|
||||
@ -61,8 +61,8 @@ impl Cli {
|
||||
None => portal_prelogin(&self.server, &gp_params).await?,
|
||||
};
|
||||
|
||||
let browser_auth = if let Some(external_browser) = &self.external_browser {
|
||||
Some(BrowserAuthenticator::new_with_browser(&saml_request, external_browser))
|
||||
let browser_auth = if let Some(browser) = &self.browser {
|
||||
Some(BrowserAuthenticator::new_with_browser(&saml_request, browser))
|
||||
} else if self.default_browser {
|
||||
Some(BrowserAuthenticator::new(&saml_request))
|
||||
} else {
|
||||
|
@ -102,7 +102,7 @@ pub(crate) struct ConnectArgs {
|
||||
long,
|
||||
help = "Use the specified browser to authenticate, e.g., firefox, chromium, chrome, or the path to the browser"
|
||||
)]
|
||||
external_browser: Option<String>,
|
||||
browser: Option<String>,
|
||||
}
|
||||
|
||||
impl ConnectArgs {
|
||||
@ -332,8 +332,8 @@ impl<'a> ConnectHandler<'a> {
|
||||
match prelogin {
|
||||
Prelogin::Saml(prelogin) => {
|
||||
let use_default_browser = prelogin.support_default_browser() && self.args.default_browser;
|
||||
let external_browser = if prelogin.support_default_browser() {
|
||||
self.args.external_browser.as_deref()
|
||||
let browser = if prelogin.support_default_browser() {
|
||||
self.args.browser.as_deref()
|
||||
} else {
|
||||
None
|
||||
};
|
||||
@ -349,7 +349,7 @@ impl<'a> ConnectHandler<'a> {
|
||||
.ignore_tls_errors(self.shared_args.ignore_tls_errors)
|
||||
.clean(self.args.clean)
|
||||
.default_browser(use_default_browser)
|
||||
.external_browser(external_browser)
|
||||
.browser(browser)
|
||||
.launch()
|
||||
.await?;
|
||||
|
||||
|
@ -19,7 +19,7 @@ pub struct SamlAuthLauncher<'a> {
|
||||
ignore_tls_errors: bool,
|
||||
clean: bool,
|
||||
default_browser: bool,
|
||||
external_browser: Option<&'a str>,
|
||||
browser: Option<&'a str>,
|
||||
}
|
||||
|
||||
impl<'a> SamlAuthLauncher<'a> {
|
||||
@ -36,7 +36,7 @@ impl<'a> SamlAuthLauncher<'a> {
|
||||
ignore_tls_errors: false,
|
||||
clean: false,
|
||||
default_browser: false,
|
||||
external_browser: None,
|
||||
browser: None,
|
||||
}
|
||||
}
|
||||
|
||||
@ -90,8 +90,8 @@ impl<'a> SamlAuthLauncher<'a> {
|
||||
self
|
||||
}
|
||||
|
||||
pub fn external_browser(mut self, external_browser: Option<&'a str>) -> Self {
|
||||
self.external_browser = external_browser;
|
||||
pub fn browser(mut self, browser: Option<&'a str>) -> Self {
|
||||
self.browser = browser;
|
||||
self
|
||||
}
|
||||
|
||||
@ -140,8 +140,8 @@ impl<'a> SamlAuthLauncher<'a> {
|
||||
auth_cmd.arg("--default-browser");
|
||||
}
|
||||
|
||||
if let Some(external_browser) = self.external_browser {
|
||||
auth_cmd.arg("--external-browser").arg(external_browser);
|
||||
if let Some(browser) = self.browser {
|
||||
auth_cmd.arg("--browser").arg(browser);
|
||||
}
|
||||
|
||||
let mut non_root_cmd = auth_cmd.into_non_root()?;
|
||||
|
Loading…
Reference in New Issue
Block a user