506 KeycloakInstalled.console().stderrOutput();
510 String client = masterClient;
511 if (
args.length > 1) {
517 System.out.print(token);
520 if (token == null && client.equals(masterClient)) {
525 System.out.print(token);
530 String masterToken =
readToken(masterClient);
531 if (masterToken == null) {
535 if (masterToken == null) {
536 System.err.println(
"Login failed. Cannot retrieve token");
544 WebTarget exchangeUrl = httpClient.target(
getServer())
547 .path(
"protocol/openid-connect/token");
549 Form form =
new Form()
550 .param(OAuth2Constants.GRANT_TYPE, OAuth2Constants.TOKEN_EXCHANGE_GRANT_TYPE)
551 .param(OAuth2Constants.CLIENT_ID, masterClient)
552 .param(OAuth2Constants.SUBJECT_TOKEN, masterToken)
553 .param(OAuth2Constants.SUBJECT_TOKEN_TYPE, OAuth2Constants.ACCESS_TOKEN_TYPE)
554 .param(OAuth2Constants.REQUESTED_TOKEN_TYPE, OAuth2Constants.REFRESH_TOKEN_TYPE)
555 .param(OAuth2Constants.AUDIENCE, client);
559 Response response = exchangeUrl.request().post(Entity.form(
563 if (response.getStatus() == 401 || response.getStatus() == 403) {
565 System.err.println(
"Not allowed to exchange for client token");
569 if (response.getStatus() != 200) {
570 if (response.getMediaType() != null && response.getMediaType().equals(MediaType.APPLICATION_JSON_TYPE)) {
572 String json = response.readEntity(String.class);
574 System.err.println(
"Failed to exchange token: " + error.getError() +
". " + error.getErrorDescription());
576 }
catch (Exception ignore) {
577 ignore.printStackTrace();
583 System.err.println(
"Unknown error exchanging for client token: " + response.getStatus());
587 String json = response.readEntity(String.class);
590 if (tokenResponse.getToken() != null) {
592 tokenResponse.setExpiresIn(Time.currentTime() + tokenResponse.getExpiresIn());
593 tokenResponse.setIdToken(null);
596 System.out.printf(tokenResponse.getToken());
598 System.err.println(
"Error processing token");
String [] args
Definition: KcinitDriver.java:80
Definition: JsonSerialization.java:38
File getTokenDirectory()
Definition: KcinitDriver.java:224
String getMasterClient()
Definition: KcinitDriver.java:665
void writeFile(File fp, String payload)
Definition: KcinitDriver.java:304
static< T > T readValue(byte[] bytes, Class< T > type)
Definition: JsonSerialization.java:68
String getMasterClientSecret()
Definition: KcinitDriver.java:603
String getServer()
Definition: KcinitDriver.java:607
String readToken(String client)
Definition: KcinitDriver.java:435
void checkEnv()
Definition: KcinitDriver.java:230
Client getHttpClient()
Definition: KcinitDriver.java:624
void token()
Definition: KcinitDriver.java:505
File getTokenFilePath(String client)
Definition: KcinitDriver.java:220
void doConsoleLogin()
Definition: KcinitDriver.java:654
static String writeValueAsString(Object obj)
Definition: JsonSerialization.java:60
String getRealm()
Definition: KcinitDriver.java:611