Skip to content

Commit

Permalink
move to java 11, update to keycloak 25.0.x
Browse files Browse the repository at this point in the history
  • Loading branch information
vegegoku committed Aug 8, 2024
1 parent 63ae0b7 commit 7bd99aa
Show file tree
Hide file tree
Showing 24 changed files with 369 additions and 166 deletions.
6 changes: 3 additions & 3 deletions pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -64,10 +64,10 @@

<properties>
<snapshot.version>HEAD-SNAPSHOT</snapshot.version>
<next.release.version>2.0.1</next.release.version>
<next.release.version>3.0.0-25.0.x</next.release.version>

<maven.compiler.source>1.8</maven.compiler.source>
<maven.compiler.target>1.8</maven.compiler.target>
<maven.compiler.source>11</maven.compiler.source>
<maven.compiler.target>11</maven.compiler.target>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>

Expand Down
33 changes: 16 additions & 17 deletions src/main/java/org/dominokit/keycloak/Keycloak.java
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,7 @@
package org.dominokit.keycloak;

import elemental2.core.JsObject;
import elemental2.promise.Promise;
import jsinterop.annotations.*;
import jsinterop.base.Js;

Expand Down Expand Up @@ -45,9 +46,9 @@ public Keycloak(KeycloakConfigUnionType config) {}

public boolean authenticated;
public String subject;
public String responseMode;
public String responseType;
public String flow;
public KeycloakResponseModeUnionType responseMode;
public KeycloakResponseTypeUnionType responseType;
public KeycloakFlowUnionType flow;
public KeycloakRoles realmAccess;
public KeycloakResourceAccess resourceAccess;
public String token;
Expand All @@ -67,25 +68,23 @@ public Keycloak(KeycloakConfigUnionType config) {}
public KeycloakProfile profile;
public JsObject userInfo;

public String adapter;

public native EventCallback onActionUpdate(String status);

public native KeycloakPromise<Boolean, KeycloakError> init(KeycloakInitOptions initOptions);
public native Promise<Boolean> init(KeycloakInitOptions initOptions);

public native KeycloakPromise<Void, Void> login(KeycloakLoginOptions options);
public native Promise<Void> login(KeycloakLoginOptions options);

public native KeycloakPromise<Void, Void> login();
public native Promise<Void> login();

public native KeycloakPromise<Void, Void> logout(KeycloakLogoutOptions options);
public native Promise<Void> logout(KeycloakLogoutOptions options);

public native KeycloakPromise<Void, Void> logout();
public native Promise<Void> logout();

public native KeycloakPromise<Void, Void> register(KeycloakRegisterOptions options);
public native Promise<Void> register(KeycloakRegisterOptions options);

public native KeycloakPromise<Void, Void> register();
public native Promise<Void> register();

public native KeycloakPromise<Void, Void> accountManagement();
public native Promise<Void> accountManagement();

public native String createLoginUrl(KeycloakLoginOptions options);

Expand All @@ -97,17 +96,17 @@ public Keycloak(KeycloakConfigUnionType config) {}

public native boolean isTokenExpired(double minValidity);

public native KeycloakPromise<Boolean, Boolean> updateToken(double minValidity);
public native Promise<Boolean> updateToken(double minValidity);

public native void clearToken();

public native boolean hasRealmRole(String role);

public native boolean hasResourceRole(String role, String resource);

public native KeycloakPromise<KeycloakProfile, Void> loadUserProfile();
public native Promise<KeycloakProfile> loadUserProfile();

public native KeycloakPromise<JsObject, Void> loadUserInfo();
public native Promise<JsObject> loadUserInfo();

@JsProperty
public native void setOnReady(OnReadyEventCallback onReady);
Expand All @@ -116,7 +115,7 @@ public Keycloak(KeycloakConfigUnionType config) {}
public native void setOnAuthSuccess(EventCallback onAuthSuccess);

@JsProperty
public native void setOnAuthError(EventCallback onAuthError);
public native void setOnAuthError(OnAuthErrorEventCallback onAuthError);

@JsProperty
public native void setOnAuthRefreshSuccess(EventCallback onAuthRefreshSuccess);
Expand Down
9 changes: 5 additions & 4 deletions src/main/java/org/dominokit/keycloak/KeycloakAdapter.java
Original file line number Diff line number Diff line change
Expand Up @@ -16,19 +16,20 @@
package org.dominokit.keycloak;

import elemental2.core.JsObject;
import elemental2.promise.Promise;
import jsinterop.annotations.JsPackage;
import jsinterop.annotations.JsType;

@JsType(isNative = true, namespace = JsPackage.GLOBAL)
public interface KeycloakAdapter {

KeycloakPromise<Void, Void> login(KeycloakLoginOptions options);
Promise<Void> login(KeycloakLoginOptions options);

KeycloakPromise<Void, Void> logout(KeycloakLogoutOptions options);
Promise<Void> logout(KeycloakLogoutOptions options);

KeycloakPromise<Void, Void> register(KeycloakRegisterOptions options);
Promise<Void> register(KeycloakRegisterOptions options);

KeycloakPromise<Void, Void> register();
Promise<Void> accountManagement();

String redirectUri(JsObject options, boolean encodeHash);
}
55 changes: 55 additions & 0 deletions src/main/java/org/dominokit/keycloak/KeycloakAdapterUnionType.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,55 @@
/*
* Copyright © 2019 Dominokit
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package org.dominokit.keycloak;

import jsinterop.annotations.JsOverlay;
import jsinterop.annotations.JsPackage;
import jsinterop.annotations.JsType;
import jsinterop.base.Js;

@JsType(isNative = true, name = "?", namespace = JsPackage.GLOBAL)
public interface KeycloakAdapterUnionType {

@JsOverlay
static KeycloakAdapterUnionType _default() {
return Js.cast("default");
}

@JsOverlay
static KeycloakAdapterUnionType cordova() {
return Js.cast("cordova");
}

@JsOverlay
static KeycloakAdapterUnionType cordova_native() {
return Js.cast("cordova-native");
}

@JsOverlay
static KeycloakAdapterUnionType adapter(KeycloakAdapter adapter) {
return Js.cast(adapter);
}

@JsOverlay
default String asString() {
return Js.asString(this);
}

@JsOverlay
default KeycloakAdapter asKeycloakAdapter() {
return Js.cast(this);
}
}
23 changes: 0 additions & 23 deletions src/main/java/org/dominokit/keycloak/KeycloakAdapters.java

This file was deleted.

3 changes: 3 additions & 0 deletions src/main/java/org/dominokit/keycloak/KeycloakError.java
Original file line number Diff line number Diff line change
Expand Up @@ -15,8 +15,11 @@
*/
package org.dominokit.keycloak;

import jsinterop.annotations.JsPackage;
import jsinterop.annotations.JsProperty;
import jsinterop.annotations.JsType;

@JsType(isNative = true, namespace = JsPackage.GLOBAL)
public interface KeycloakError {

@JsProperty
Expand Down
22 changes: 0 additions & 22 deletions src/main/java/org/dominokit/keycloak/KeycloakFlow.java

This file was deleted.

45 changes: 45 additions & 0 deletions src/main/java/org/dominokit/keycloak/KeycloakFlowUnionType.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,45 @@
/*
* Copyright © 2019 Dominokit
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package org.dominokit.keycloak;

import jsinterop.annotations.JsOverlay;
import jsinterop.annotations.JsPackage;
import jsinterop.annotations.JsType;
import jsinterop.base.Js;

@JsType(isNative = true, name = "?", namespace = JsPackage.GLOBAL)
public interface KeycloakFlowUnionType {

@JsOverlay
static KeycloakFlowUnionType standard() {
return Js.cast("standard");
}

@JsOverlay
static KeycloakFlowUnionType implicit() {
return Js.cast("implicit");
}

@JsOverlay
static KeycloakFlowUnionType hybrid() {
return Js.cast("hybrid");
}

@JsOverlay
default String asString() {
return Js.asString(this);
}
}
42 changes: 27 additions & 15 deletions src/main/java/org/dominokit/keycloak/KeycloakInitOptions.java
Original file line number Diff line number Diff line change
Expand Up @@ -29,9 +29,9 @@ public interface KeycloakInitOptions {
static KeycloakInitOptions create() {
KeycloakInitOptions keycloakInitOptions = Js.uncheckedCast(JsPropertyMap.of());
keycloakInitOptions.setUseNonce(true);
keycloakInitOptions.setOnLoad(KeycloakOnLoad.login_required);
keycloakInitOptions.setOnLoad(KeycloakOnLoadUnionType.login_required());
keycloakInitOptions.setCheckLoginIframeInterval(5);
keycloakInitOptions.setResponseMode(KeycloakResponseMode.fragment);
keycloakInitOptions.setResponseMode(KeycloakResponseModeUnionType.fragment());
keycloakInitOptions.setEnableLogging(false);
return keycloakInitOptions;
}
Expand All @@ -43,17 +43,17 @@ static KeycloakInitOptions create() {
void setUseNonce(boolean useNonce);

@JsProperty
KeycloakAdapter getAdapter();
KeycloakAdapterUnionType getAdapter();

@JsProperty
void setAdapter(KeycloakAdapter adapter);
void setAdapter(KeycloakAdapterUnionType adapter);

@JsProperty
String getOnLoad();
KeycloakOnLoadUnionType getOnLoad();

/** @param onLoad Use a constant from {@link KeycloakOnLoad} */
/** @param onLoad Use a constant from {@link KeycloakOnLoadUnionType} */
@JsProperty
void setOnLoad(String onLoad);
void setOnLoad(KeycloakOnLoadUnionType onLoad);

@JsProperty
String getToken();
Expand Down Expand Up @@ -92,11 +92,11 @@ static KeycloakInitOptions create() {
void setCheckLoginIframeInterval(double checkLoginIframeInterval);

@JsProperty
String getResponseMode();
KeycloakResponseModeUnionType getResponseMode();

/** @param responseMode use a constant from {@link KeycloakResponseMode} */
/** @param responseMode use a constant from {@link KeycloakResponseModeUnionType} */
@JsProperty
void setResponseMode(String responseMode);
void setResponseMode(KeycloakResponseModeUnionType responseMode);

@JsProperty
String getRedirectUri();
Expand All @@ -111,18 +111,18 @@ static KeycloakInitOptions create() {
void setSilentCheckSsoRedirectUri(String silentCheckSsoRedirectUri);

@JsProperty
String getFlow();
KeycloakFlowUnionType getFlow();

/** @param flow use a constant from {@link KeycloakFlow} */
/** @param flow use a constant from {@link KeycloakFlowUnionType} */
@JsProperty
void setFlow(String flow);
void setFlow(KeycloakFlowUnionType flow);

@JsProperty
String getPkceMethod();
KeycloakPkcsMethodUnionType getPkceMethod();

/** @param pkceMethod use a constant from {@link KeycloakPkceMethod} */
@JsProperty
void setPkceMethod(String pkceMethod);
void setPkceMethod(KeycloakPkcsMethodUnionType pkceMethod);

@JsProperty
boolean isEnableLogging();
Expand All @@ -141,4 +141,16 @@ static KeycloakInitOptions create() {

@JsProperty
void setMessageReceiveTimeout(double messageReceiveTimeout);

@JsProperty
String getLocale();

@JsProperty
void setLocale(String locale);

@JsProperty
KeycloakLogoutMethodUnionType getLogoutMethod();

@JsProperty
void setLogoutMethod(KeycloakLogoutMethodUnionType logoutMethod);
}
Original file line number Diff line number Diff line change
Expand Up @@ -51,11 +51,11 @@ static KeycloakLoginOptions createRegisterOptions() {
void setRedirectUri(String redirectUri);

@JsProperty
String getPrompt();
KeycloakPromptUnionType getPrompt();

/** @param prompt use a constant from {@link KeycloakPrompt} */
/** @param prompt use a constant from {@link KeycloakPromptUnionType} */
@JsProperty
void setPrompt(String prompt);
void setPrompt(KeycloakPromptUnionType prompt);

@JsProperty
String getAction();
Expand Down
Loading

0 comments on commit 7bd99aa

Please sign in to comment.