From f51045eca4893f7aebb932de5ba45bd36855776d Mon Sep 17 00:00:00 2001 From: thyzzv Date: Fri, 6 Dec 2024 13:22:46 +0100 Subject: [PATCH 1/2] Add option to specify auth method --- pom.xml | 4 ++-- src/main/java/org/javaswift/filecli/Arguments.java | 10 ++++++++++ src/main/java/org/javaswift/filecli/Main.java | 4 +++- 3 files changed, 15 insertions(+), 3 deletions(-) diff --git a/pom.xml b/pom.xml index f1dfc9e..9c53547 100644 --- a/pom.xml +++ b/pom.xml @@ -3,7 +3,7 @@ org.javaswift file-cli - 1.4.1 + 1.4.2 jar JOSS File CLI Command Line Interface for uploading files to the ObjectStore @@ -182,4 +182,4 @@ - \ No newline at end of file + diff --git a/src/main/java/org/javaswift/filecli/Arguments.java b/src/main/java/org/javaswift/filecli/Arguments.java index 6342e1f..a0d919d 100644 --- a/src/main/java/org/javaswift/filecli/Arguments.java +++ b/src/main/java/org/javaswift/filecli/Arguments.java @@ -60,6 +60,9 @@ public class Arguments { @Parameter(names={ "--redirect" }, description="URL to which a redirect will take place after an upload") private String redirectUrl; + @Parameter(names={ "--method" }, description="which authencition method to use [BASIC, KEYSTONE, KEYSTONE_V3, TEMPAUTH, EXTERNAL], default = BASIC") + private String method; + public String getUsername() { return username; } @@ -131,4 +134,11 @@ public int getPort() { public String getRedirectUrl() { return redirectUrl; } + + public String getMethod() { + if (method == null) { + return "BASIC"; + } + return method; + } } diff --git a/src/main/java/org/javaswift/filecli/Main.java b/src/main/java/org/javaswift/filecli/Main.java index 0f79064..098b31a 100644 --- a/src/main/java/org/javaswift/filecli/Main.java +++ b/src/main/java/org/javaswift/filecli/Main.java @@ -4,6 +4,7 @@ import freemarker.template.Configuration; import freemarker.template.Template; import org.javaswift.joss.client.factory.AccountFactory; +import org.javaswift.joss.client.factory.AuthenticationMethod; import org.javaswift.joss.client.factory.TempUrlHashPrefixSource; import org.javaswift.joss.model.Account; import org.javaswift.joss.model.Container; @@ -80,7 +81,7 @@ private Account createAccount(Arguments arguments) { "tenant name "+arguments.getTenantName()+ ", tenant ID "+arguments.getTenantId()+ " and usr/pwd "+arguments.getUsername()+"/"+arguments.getPassword()+"@"+arguments.getUrl()); - + return new AccountFactory() .setUsername(arguments.getUsername()) .setPassword(arguments.getPassword()) @@ -90,6 +91,7 @@ private Account createAccount(Arguments arguments) { .setTenantName(arguments.getTenantName()) .setHashPassword(arguments.getHashPassword()) .setTempUrlHashPrefixSource(TempUrlHashPrefixSource.INTERNAL_URL_PATH) + .setAuthenticationMethod(AuthenticationMethod.valueOf(arguments.getMethod())) .createAccount(); } From 75dba5423dfeb5a6a4c283cefcd8a01d31fbfafe Mon Sep 17 00:00:00 2001 From: Thijs Vonk Date: Tue, 24 Jun 2025 11:47:16 +0200 Subject: [PATCH 2/2] Add option to also pass in domain --- src/main/java/org/javaswift/filecli/Arguments.java | 9 +++++++++ src/main/java/org/javaswift/filecli/Main.java | 1 + 2 files changed, 10 insertions(+) diff --git a/src/main/java/org/javaswift/filecli/Arguments.java b/src/main/java/org/javaswift/filecli/Arguments.java index a0d919d..8b0a79f 100644 --- a/src/main/java/org/javaswift/filecli/Arguments.java +++ b/src/main/java/org/javaswift/filecli/Arguments.java @@ -63,6 +63,11 @@ public class Arguments { @Parameter(names={ "--method" }, description="which authencition method to use [BASIC, KEYSTONE, KEYSTONE_V3, TEMPAUTH, EXTERNAL], default = BASIC") private String method; + @Parameter(names={ "--domain" }, description="which domain to authenticate against") + private String domain; + + + public String getUsername() { return username; } @@ -141,4 +146,8 @@ public String getMethod() { } return method; } + + public String getDomain() { + return domain; + } } diff --git a/src/main/java/org/javaswift/filecli/Main.java b/src/main/java/org/javaswift/filecli/Main.java index 098b31a..d6b5845 100644 --- a/src/main/java/org/javaswift/filecli/Main.java +++ b/src/main/java/org/javaswift/filecli/Main.java @@ -92,6 +92,7 @@ private Account createAccount(Arguments arguments) { .setHashPassword(arguments.getHashPassword()) .setTempUrlHashPrefixSource(TempUrlHashPrefixSource.INTERNAL_URL_PATH) .setAuthenticationMethod(AuthenticationMethod.valueOf(arguments.getMethod())) + .setDomain(arguments.getDomain()) .createAccount(); }