auth-server-url and Realm/App name changes
This commit is contained in:
1 parent
6b388918c9
commit
6326d5d2b5
24 files changed
+97
-63
No files matched your search
@@ -181,8 +181,7 @@ public class ApplicationManager {
|
||||
rep.setRealmKey(realmModel.getPublicKeyPem());
|
||||
rep.setSslNotRequired(realmModel.isSslNotRequired());
|
||||
|
||||
rep.setAuthUrl(Urls.realmLoginPage(baseUri, realmModel.getName()).toString());
|
||||
rep.setCodeUrl(Urls.realmCode(baseUri, realmModel.getName()).toString());
|
||||
rep.setAuthServerUrl(baseUri.toString());
|
||||
rep.setUseResourceRoleMappings(applicationModel.getRoles().size() > 0);
|
||||
|
||||
rep.setResource(applicationModel.getName());
|
||||
|
||||
@@ -88,9 +88,7 @@ public class OAuthClientManager {
|
||||
rep.setRealm(realmModel.getName());
|
||||
rep.setRealmKey(realmModel.getPublicKeyPem());
|
||||
rep.setSslNotRequired(realmModel.isSslNotRequired());
|
||||
|
||||
rep.setAuthUrl(Urls.realmLoginPage(baseUri, realmModel.getName()).toString());
|
||||
rep.setCodeUrl(Urls.realmCode(baseUri, realmModel.getName()).toString());
|
||||
rep.setAuthServerUrl(baseUri.toString());
|
||||
rep.setUseResourceRoleMappings(false);
|
||||
|
||||
rep.setResource(model.getOAuthAgent().getLoginName());
|
||||
|
||||
@@ -12,6 +12,8 @@ import org.keycloak.services.resources.admin.AdminService;
|
||||
import javax.servlet.ServletContext;
|
||||
import javax.ws.rs.core.Application;
|
||||
import javax.ws.rs.core.Context;
|
||||
import javax.ws.rs.core.UriInfo;
|
||||
import java.net.URI;
|
||||
import java.util.HashSet;
|
||||
import java.util.ServiceLoader;
|
||||
import java.util.Set;
|
||||
@@ -31,10 +33,11 @@ public class KeycloakApplication extends Application {
|
||||
protected Set<Class<?>> classes = new HashSet<Class<?>>();
|
||||
|
||||
protected KeycloakSessionFactory factory;
|
||||
protected String contextPath;
|
||||
|
||||
public KeycloakApplication(@Context ServletContext context) {
|
||||
this.factory = createSessionFactory();
|
||||
|
||||
this.contextPath = context.getContextPath();
|
||||
context.setAttribute(KeycloakSessionFactory.class.getName(), factory);
|
||||
//classes.add(KeycloakSessionCleanupFilter.class);
|
||||
|
||||
@@ -49,6 +52,20 @@ public class KeycloakApplication extends Application {
|
||||
setupDefaultRealm();
|
||||
}
|
||||
|
||||
public String getContextPath() {
|
||||
return contextPath;
|
||||
}
|
||||
|
||||
/**
|
||||
* Get base URI of WAR distribution, not JAX-RS
|
||||
*
|
||||
* @param uriInfo
|
||||
* @return
|
||||
*/
|
||||
public URI getBaseUri(UriInfo uriInfo) {
|
||||
return uriInfo.getBaseUriBuilder().replacePath(getContextPath()).build();
|
||||
}
|
||||
|
||||
protected void setupDefaultRealm() {
|
||||
new ApplianceBootstrap().bootstrap(factory);
|
||||
}
|
||||
|
||||
+10
-1
@@ -11,6 +11,7 @@ import org.keycloak.representations.idm.ApplicationRepresentation;
|
||||
import org.keycloak.representations.idm.CredentialRepresentation;
|
||||
import org.keycloak.services.managers.ApplicationManager;
|
||||
import org.keycloak.services.managers.RealmManager;
|
||||
import org.keycloak.services.resources.KeycloakApplication;
|
||||
import org.keycloak.util.JsonSerialization;
|
||||
|
||||
import javax.ws.rs.Consumes;
|
||||
@@ -19,6 +20,7 @@ import javax.ws.rs.GET;
|
||||
import javax.ws.rs.PUT;
|
||||
import javax.ws.rs.Path;
|
||||
import javax.ws.rs.Produces;
|
||||
import javax.ws.rs.core.Application;
|
||||
import javax.ws.rs.core.Context;
|
||||
import javax.ws.rs.core.MediaType;
|
||||
import javax.ws.rs.core.UriInfo;
|
||||
@@ -38,6 +40,13 @@ public class ApplicationResource extends RoleContainerResource {
|
||||
@Context
|
||||
protected UriInfo uriInfo;
|
||||
|
||||
@Context
|
||||
protected Application keycloak;
|
||||
|
||||
protected KeycloakApplication getKeycloakApplication() {
|
||||
return (KeycloakApplication)keycloak;
|
||||
}
|
||||
|
||||
public ApplicationResource(RealmModel realm, ApplicationModel applicationModel, KeycloakSession session) {
|
||||
super(applicationModel);
|
||||
this.realm = realm;
|
||||
@@ -68,7 +77,7 @@ public class ApplicationResource extends RoleContainerResource {
|
||||
@Produces(MediaType.APPLICATION_JSON)
|
||||
public String getInstallation() throws IOException {
|
||||
ApplicationManager applicationManager = new ApplicationManager(new RealmManager(session));
|
||||
BaseAdapterConfig rep = applicationManager.toInstallationRepresentation(realm, application, uriInfo.getBaseUri());
|
||||
BaseAdapterConfig rep = applicationManager.toInstallationRepresentation(realm, application, getKeycloakApplication().getBaseUri(uriInfo));
|
||||
|
||||
// TODO Temporary solution to pretty-print
|
||||
return JsonSerialization.mapper.writerWithDefaultPrettyPrinter().writeValueAsString(rep);
|
||||
|
||||
+10
-1
@@ -12,6 +12,7 @@ import org.keycloak.representations.idm.OAuthClientRepresentation;
|
||||
import org.keycloak.services.managers.ApplicationManager;
|
||||
import org.keycloak.services.managers.OAuthClientManager;
|
||||
import org.keycloak.services.managers.RealmManager;
|
||||
import org.keycloak.services.resources.KeycloakApplication;
|
||||
import org.keycloak.util.JsonSerialization;
|
||||
|
||||
import javax.ws.rs.Consumes;
|
||||
@@ -20,6 +21,7 @@ import javax.ws.rs.GET;
|
||||
import javax.ws.rs.PUT;
|
||||
import javax.ws.rs.Path;
|
||||
import javax.ws.rs.Produces;
|
||||
import javax.ws.rs.core.Application;
|
||||
import javax.ws.rs.core.Context;
|
||||
import javax.ws.rs.core.MediaType;
|
||||
import javax.ws.rs.core.UriInfo;
|
||||
@@ -38,6 +40,13 @@ public class OAuthClientResource {
|
||||
@Context
|
||||
protected UriInfo uriInfo;
|
||||
|
||||
@Context
|
||||
protected Application application;
|
||||
|
||||
protected KeycloakApplication getApplication() {
|
||||
return (KeycloakApplication)application;
|
||||
}
|
||||
|
||||
public OAuthClientResource(RealmModel realm, OAuthClientModel oauthClient, KeycloakSession session) {
|
||||
this.realm = realm;
|
||||
this.oauthClient = oauthClient;
|
||||
@@ -65,7 +74,7 @@ public class OAuthClientResource {
|
||||
@Produces(MediaType.APPLICATION_JSON)
|
||||
public String getInstallation() throws IOException {
|
||||
OAuthClientManager manager = new OAuthClientManager(realm);
|
||||
BaseAdapterConfig rep = manager.toInstallationRepresentation(realm, oauthClient, uriInfo.getBaseUri());
|
||||
BaseAdapterConfig rep = manager.toInstallationRepresentation(realm, oauthClient, getApplication().getBaseUri(uriInfo));
|
||||
|
||||
// TODO Temporary solution to pretty-print
|
||||
return JsonSerialization.mapper.writerWithDefaultPrettyPrinter().writeValueAsString(rep);
|
||||
|
||||
Reference in new issue
Block a user