mirror of
https://github.com/keycloak/keycloak.git
synced 2026-01-25 16:42:34 +00:00
@@ -38,10 +38,18 @@
|
||||
<groupId>org.keycloak</groupId>
|
||||
<artifactId>keycloak-core</artifactId>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.keycloak</groupId>
|
||||
<artifactId>${keycloak.crypto.artifactId}</artifactId>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.apache.httpcomponents</groupId>
|
||||
<artifactId>httpclient</artifactId>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.jboss.logging</groupId>
|
||||
<artifactId>jboss-logging</artifactId>
|
||||
</dependency>
|
||||
|
||||
<dependency>
|
||||
<groupId>junit</groupId>
|
||||
@@ -67,9 +75,9 @@
|
||||
<artifact>org.keycloak:keycloak-core</artifact>
|
||||
<includes>
|
||||
<include>org/keycloak/util/**</include>
|
||||
<include>org/keycloak/crypto/**</include>
|
||||
<include>org/keycloak/json/**</include>
|
||||
<include>org/keycloak/jose/jws/**</include>
|
||||
<include>org/keycloak/jose/jwk/**</include>
|
||||
<include>org/keycloak/jose/**</include>
|
||||
<include>org/keycloak/representations/adapters/config/**</include>
|
||||
<include>org/keycloak/representations/adapters/action/**</include>
|
||||
<include>org/keycloak/representations/AccessTokenResponse.class</include>
|
||||
@@ -92,24 +100,7 @@
|
||||
<include>org/keycloak/TokenCategory.class</include>
|
||||
</includes>
|
||||
</filter>
|
||||
<filter>
|
||||
<artifact>org.keycloak:keycloak-common</artifact>
|
||||
<includes>
|
||||
<include>org/keycloak/common/util/**</include>
|
||||
</includes>
|
||||
</filter>
|
||||
<filter>
|
||||
<artifact>org.bouncycastle:bcprov-jdk15on</artifact>
|
||||
<includes>
|
||||
<include>**/**</include>
|
||||
</includes>
|
||||
</filter>
|
||||
<filter>
|
||||
<artifact>org.bouncycastle:bcpkix-jdk15on</artifact>
|
||||
<excludes>
|
||||
<exclude>**/**</exclude>
|
||||
</excludes>
|
||||
</filter>
|
||||
|
||||
<filter>
|
||||
<artifact>com.fasterxml.jackson.core:jackson-core</artifact>
|
||||
<includes>
|
||||
|
||||
@@ -27,6 +27,7 @@ import org.keycloak.client.admin.cli.aesh.AeshEnhancer;
|
||||
import org.keycloak.client.admin.cli.aesh.Globals;
|
||||
import org.keycloak.client.admin.cli.aesh.ValveInputStream;
|
||||
import org.keycloak.client.admin.cli.commands.KcAdmCmd;
|
||||
import org.keycloak.common.crypto.CryptoIntegration;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.Arrays;
|
||||
@@ -38,57 +39,59 @@ public class KcAdmMain {
|
||||
|
||||
public static void main(String [] args) {
|
||||
|
||||
CryptoIntegration.init(KcAdmMain.class.getClassLoader());
|
||||
|
||||
Globals.stdin = new ValveInputStream();
|
||||
|
||||
Settings settings = new SettingsBuilder()
|
||||
.logging(false)
|
||||
.readInputrc(false)
|
||||
.disableCompletion(true)
|
||||
.disableHistory(true)
|
||||
.enableAlias(false)
|
||||
.enableExport(false)
|
||||
.inputStream(Globals.stdin)
|
||||
.create();
|
||||
|
||||
.logging(false)
|
||||
.readInputrc(false)
|
||||
.disableCompletion(true)
|
||||
.disableHistory(true)
|
||||
.enableAlias(false)
|
||||
.enableExport(false)
|
||||
.inputStream(Globals.stdin)
|
||||
.create();
|
||||
|
||||
CommandRegistry registry = new AeshCommandRegistryBuilder()
|
||||
.command(KcAdmCmd.class)
|
||||
.command(KcAdmCmd.class)
|
||||
.create();
|
||||
|
||||
|
||||
AeshConsoleImpl console = (AeshConsoleImpl) new AeshConsoleBuilder()
|
||||
.settings(settings)
|
||||
.commandRegistry(registry)
|
||||
.prompt(new Prompt(""))
|
||||
// .commandInvocationProvider(new CommandInvocationServices() {
|
||||
//
|
||||
// })
|
||||
.create();
|
||||
|
||||
AeshEnhancer.enhance(console);
|
||||
|
||||
// work around parser issues with quotes and brackets
|
||||
ArrayList<String> arguments = new ArrayList<>();
|
||||
arguments.add("kcadm");
|
||||
arguments.addAll(Arrays.asList(args));
|
||||
Globals.args = arguments;
|
||||
|
||||
StringBuilder b = new StringBuilder();
|
||||
for (String s : args) {
|
||||
// quote if necessary
|
||||
boolean needQuote = false;
|
||||
needQuote = s.indexOf(' ') != -1 || s.indexOf('\"') != -1 || s.indexOf('\'') != -1;
|
||||
b.append(' ');
|
||||
if (needQuote) {
|
||||
b.append('\'');
|
||||
}
|
||||
b.append(s);
|
||||
if (needQuote) {
|
||||
b.append('\'');
|
||||
.settings(settings)
|
||||
.commandRegistry(registry)
|
||||
.prompt(new Prompt(""))
|
||||
// .commandInvocationProvider(new CommandInvocationServices() {
|
||||
//
|
||||
// })
|
||||
.create();
|
||||
|
||||
AeshEnhancer.enhance(console);
|
||||
|
||||
// work around parser issues with quotes and brackets
|
||||
ArrayList<String> arguments = new ArrayList<>();
|
||||
arguments.add("kcadm");
|
||||
arguments.addAll(Arrays.asList(args));
|
||||
Globals.args = arguments;
|
||||
|
||||
StringBuilder b = new StringBuilder();
|
||||
for (String s : args) {
|
||||
// quote if necessary
|
||||
boolean needQuote = false;
|
||||
needQuote = s.indexOf(' ') != -1 || s.indexOf('\"') != -1 || s.indexOf('\'') != -1;
|
||||
b.append(' ');
|
||||
if (needQuote) {
|
||||
b.append('\'');
|
||||
}
|
||||
b.append(s);
|
||||
if (needQuote) {
|
||||
b.append('\'');
|
||||
}
|
||||
}
|
||||
console.setEcho(false);
|
||||
|
||||
console.execute("kcadm" + b.toString());
|
||||
|
||||
console.start();
|
||||
}
|
||||
console.setEcho(false);
|
||||
|
||||
console.execute("kcadm" + b.toString());
|
||||
|
||||
console.start();
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user