diff --git a/core/src/main/java/org/keycloak/representations/AccessScope.java b/core/src/main/java/org/keycloak/representations/AccessScope.java deleted file mode 100755 index eb228b91e1..0000000000 --- a/core/src/main/java/org/keycloak/representations/AccessScope.java +++ /dev/null @@ -1,13 +0,0 @@ -package org.keycloak.representations; - - -import org.keycloak.util.MultivaluedHashMap; - -/** - * Key is resource desired. Values are roles desired for that resource - * - * @author Bill Burke - * @version $Revision: 1 $ - */ -public class AccessScope extends MultivaluedHashMap { -} diff --git a/core/src/main/java/org/keycloak/representations/adapters/config/AdapterConfig.java b/core/src/main/java/org/keycloak/representations/adapters/config/AdapterConfig.java index b51e429f1a..3833a1653a 100755 --- a/core/src/main/java/org/keycloak/representations/adapters/config/AdapterConfig.java +++ b/core/src/main/java/org/keycloak/representations/adapters/config/AdapterConfig.java @@ -13,7 +13,7 @@ import org.codehaus.jackson.annotate.JsonPropertyOrder; "resource", "credentials", "use-resource-role-mappings", "enable-cors", "cors-max-age", "cors-allowed-methods", - "expose-token", "bearer-only", "scope", + "expose-token", "bearer-only", "connection-pool-size", "allow-any-hostname", "disable-trust-manager", "truststore", "truststore-password", "client-keystore", "client-keystore-password", "client-key-password" diff --git a/core/src/main/java/org/keycloak/representations/adapters/config/BaseAdapterConfig.java b/core/src/main/java/org/keycloak/representations/adapters/config/BaseAdapterConfig.java index 7e01e4555f..8c383e58e7 100755 --- a/core/src/main/java/org/keycloak/representations/adapters/config/BaseAdapterConfig.java +++ b/core/src/main/java/org/keycloak/representations/adapters/config/BaseAdapterConfig.java @@ -2,7 +2,6 @@ package org.keycloak.representations.adapters.config; import org.codehaus.jackson.annotate.JsonProperty; import org.codehaus.jackson.annotate.JsonPropertyOrder; -import org.keycloak.representations.AccessScope; import java.util.HashMap; import java.util.Map; @@ -17,7 +16,7 @@ import java.util.Map; "resource", "public-client", "credentials", "use-resource-role-mappings", "enable-cors", "cors-max-age", "cors-allowed-methods", - "expose-token", "bearer-only", "scope"}) + "expose-token", "bearer-only"}) public class BaseAdapterConfig extends BaseRealmConfig { @JsonProperty("resource") protected String resource; @@ -39,8 +38,6 @@ public class BaseAdapterConfig extends BaseRealmConfig { protected boolean publicClient; @JsonProperty("credentials") protected Map credentials = new HashMap(); - @JsonProperty("scope") - protected AccessScope scope; public boolean isUseResourceRoleMappings() { @@ -115,14 +112,6 @@ public class BaseAdapterConfig extends BaseRealmConfig { this.credentials = credentials; } - public AccessScope getScope() { - return scope; - } - - public void setScope(AccessScope scope) { - this.scope = scope; - } - public boolean isPublicClient() { return publicClient; } diff --git a/core/src/test/java/org/keycloak/SkeletonKeyTokenTest.java b/core/src/test/java/org/keycloak/SkeletonKeyTokenTest.java index 9717b203a1..f3ed75ad63 100755 --- a/core/src/test/java/org/keycloak/SkeletonKeyTokenTest.java +++ b/core/src/test/java/org/keycloak/SkeletonKeyTokenTest.java @@ -5,11 +5,9 @@ import org.junit.Test; import org.keycloak.jose.jws.JWSBuilder; import org.keycloak.jose.jws.JWSInput; import org.keycloak.jose.jws.crypto.RSAProvider; -import org.keycloak.representations.AccessScope; import org.keycloak.representations.AccessToken; import org.keycloak.util.JsonSerialization; -import java.io.IOException; import java.security.KeyPair; import java.security.KeyPairGenerator; @@ -18,55 +16,6 @@ import java.security.KeyPairGenerator; * @version $Revision: 1 $ */ public class SkeletonKeyTokenTest { - private static class Parser implements Runnable { - private String json; - - private Parser(String json) { - this.json = json; - } - - @Override - public void run() { - for (int i = 0; i < 10000; i++) { - try { - AccessScope scope = JsonSerialization.readValue(json.getBytes(), AccessScope.class); - } catch (IOException e) { - - } - } - } - } - - @Test - public void testScope() throws Exception { - AccessScope scope2 = new AccessScope(); - - scope2.add("one", "admin"); - scope2.add("one", "buyer"); - scope2.add("two", "seller"); - String json = JsonSerialization.writeValueAsString(scope2); - System.out.println(json); - - /* - - Thread[] threads = new Thread[1000]; - for (int i = 0; i < 1000; i++) { - threads[i] = new Thread(new Parser(json)); - } - long start = System.currentTimeMillis(); - for (Thread thread : threads) { - thread.start(); - } - for (Thread thread : threads) { - thread.join(); - } - long end = System.currentTimeMillis() - start; - System.out.println("Time took: " + end); - */ - - - } - @Test public void testToken() throws Exception { AccessToken token = new AccessToken(); diff --git a/examples/demo-template/third-party-cdi/src/main/webapp/WEB-INF/keycloak.json b/examples/demo-template/third-party-cdi/src/main/webapp/WEB-INF/keycloak.json index 7e9ddc4340..f7da55ef28 100755 --- a/examples/demo-template/third-party-cdi/src/main/webapp/WEB-INF/keycloak.json +++ b/examples/demo-template/third-party-cdi/src/main/webapp/WEB-INF/keycloak.json @@ -5,8 +5,5 @@ "ssl-not-required" : true, "credentials" : { "secret": "password" - }, - "scope": { - "realm": [ "user" ] } } \ No newline at end of file diff --git a/examples/demo-template/third-party/src/main/webapp/WEB-INF/keycloak.json b/examples/demo-template/third-party/src/main/webapp/WEB-INF/keycloak.json index 7e9ddc4340..f7da55ef28 100755 --- a/examples/demo-template/third-party/src/main/webapp/WEB-INF/keycloak.json +++ b/examples/demo-template/third-party/src/main/webapp/WEB-INF/keycloak.json @@ -5,8 +5,5 @@ "ssl-not-required" : true, "credentials" : { "secret": "password" - }, - "scope": { - "realm": [ "user" ] } } \ No newline at end of file diff --git a/integration/adapter-core/src/main/java/org/keycloak/adapters/config/AdapterConfigLoader.java b/integration/adapter-core/src/main/java/org/keycloak/adapters/config/AdapterConfigLoader.java index 95a3ddaadf..ae1bc64d44 100755 --- a/integration/adapter-core/src/main/java/org/keycloak/adapters/config/AdapterConfigLoader.java +++ b/integration/adapter-core/src/main/java/org/keycloak/adapters/config/AdapterConfigLoader.java @@ -2,10 +2,7 @@ package org.keycloak.adapters.config; import org.codehaus.jackson.map.ObjectMapper; import org.codehaus.jackson.map.annotate.JsonSerialize; -import org.keycloak.representations.AccessScope; -import org.keycloak.util.Base64Url; import org.keycloak.util.EnvUtil; -import org.keycloak.util.JsonSerialization; import org.keycloak.util.PemUtils; import org.keycloak.adapters.ResourceMetadata; import org.keycloak.representations.adapters.config.AdapterConfig; @@ -67,11 +64,6 @@ public class AdapterConfigLoader { resourceMetadata.setClientKeyPassword(clientKeyPassword); resourceMetadata.setTruststore(this.truststore); - if (adapterConfig.getScope() != null) { - String scope = encodeScope(adapterConfig.getScope()); - resourceMetadata.setScope(scope); - } - } public AdapterConfig getAdapterConfig() { @@ -128,12 +120,4 @@ public class AdapterConfigLoader { } } - protected String encodeScope(AccessScope scope) { - try { - byte[] scopeBytes = JsonSerialization.writeValueAsBytes(scope); - return Base64Url.encode(scopeBytes); - } catch (Exception e) { - throw new RuntimeException(e); - } - } } diff --git a/integration/adapter-core/src/main/java/org/keycloak/adapters/config/OAuthClientConfigLoader.java b/integration/adapter-core/src/main/java/org/keycloak/adapters/config/OAuthClientConfigLoader.java index 10ee4b6f6b..5f3add70f8 100755 --- a/integration/adapter-core/src/main/java/org/keycloak/adapters/config/OAuthClientConfigLoader.java +++ b/integration/adapter-core/src/main/java/org/keycloak/adapters/config/OAuthClientConfigLoader.java @@ -41,9 +41,5 @@ public abstract class OAuthClientConfigLoader extends RealmConfigurationLoader { oauthClient.setCodeUrl(tokenUrl); oauthClient.setRefreshUrl(refreshUrl); oauthClient.setTruststore(truststore); - if (adapterConfig.getScope() != null) { - String scope = encodeScope(adapterConfig.getScope()); - oauthClient.setScope(scope); - } } } diff --git a/services/src/main/java/org/keycloak/services/managers/TokenManager.java b/services/src/main/java/org/keycloak/services/managers/TokenManager.java index 84a0f2647e..e1ecc0bade 100755 --- a/services/src/main/java/org/keycloak/services/managers/TokenManager.java +++ b/services/src/main/java/org/keycloak/services/managers/TokenManager.java @@ -12,13 +12,10 @@ import org.keycloak.models.RealmModel; import org.keycloak.models.RoleModel; import org.keycloak.models.UserModel; import org.keycloak.models.utils.KeycloakModelUtils; -import org.keycloak.representations.AccessScope; import org.keycloak.representations.AccessToken; import org.keycloak.representations.AccessTokenResponse; import org.keycloak.representations.IDToken; import org.keycloak.representations.RefreshToken; -import org.keycloak.util.Base64Url; -import org.keycloak.util.JsonSerialization; import javax.ws.rs.core.MultivaluedHashMap; import javax.ws.rs.core.MultivaluedMap; diff --git a/testsuite/integration/src/test/java/org/keycloak/testsuite/OAuthClient.java b/testsuite/integration/src/test/java/org/keycloak/testsuite/OAuthClient.java index 18fb97d30e..5b262bb1e6 100755 --- a/testsuite/integration/src/test/java/org/keycloak/testsuite/OAuthClient.java +++ b/testsuite/integration/src/test/java/org/keycloak/testsuite/OAuthClient.java @@ -22,15 +22,12 @@ package org.keycloak.testsuite; import org.apache.commons.io.IOUtils; -import org.apache.http.HttpHeaders; import org.apache.http.HttpResponse; import org.apache.http.NameValuePair; import org.apache.http.client.HttpClient; import org.apache.http.client.entity.UrlEncodedFormEntity; -import org.apache.http.client.methods.HttpGet; import org.apache.http.client.methods.HttpPost; import org.apache.http.client.utils.URLEncodedUtils; -import org.apache.http.entity.ContentType; import org.apache.http.impl.client.DefaultHttpClient; import org.apache.http.message.BasicNameValuePair; import org.jboss.resteasy.security.PemUtils; @@ -40,12 +37,8 @@ import org.keycloak.RSATokenVerifier; import org.keycloak.VerificationException; import org.keycloak.jose.jws.JWSInput; import org.keycloak.jose.jws.crypto.RSAProvider; -import org.keycloak.representations.AccessScope; import org.keycloak.representations.AccessToken; -import org.keycloak.representations.idm.UserRepresentation; import org.keycloak.util.BasicAuthHelper; -import org.keycloak.util.JsonSerialization; -import org.keycloak.util.Base64Url; import org.openqa.selenium.By; import org.openqa.selenium.WebDriver; @@ -78,8 +71,6 @@ public class OAuthClient { private String redirectUri = "http://localhost:8081/app/auth"; - private AccessScope scope; - private String state; private PublicKey realmPublicKey; @@ -216,14 +207,6 @@ public class OAuthClient { if (redirectUri != null) { b.queryParam("redirect_uri", redirectUri); } - if (scope != null) { - try { - - b.queryParam("scope", Base64Url.encode(JsonSerialization.writeValueAsBytes(scope))); - } catch (Exception e) { - throw new RuntimeException("Failed to serialize scope", e); - } - } if (state != null) { b.queryParam("state", state); } @@ -259,14 +242,6 @@ public class OAuthClient { return this; } - public OAuthClient addScope(String resource, String... roles) { - if (scope == null) { - scope = new AccessScope(); - } - scope.addAll(resource, roles); - return this; - } - public OAuthClient state(String state) { this.state = state; return this; diff --git a/testsuite/integration/src/test/java/org/keycloak/testsuite/account/ProfileTest.java b/testsuite/integration/src/test/java/org/keycloak/testsuite/account/ProfileTest.java index 95e9e9b6d3..b388bb37f4 100755 --- a/testsuite/integration/src/test/java/org/keycloak/testsuite/account/ProfileTest.java +++ b/testsuite/integration/src/test/java/org/keycloak/testsuite/account/ProfileTest.java @@ -175,7 +175,6 @@ public class ProfileTest { @Test public void getProfileOAuthClient() throws Exception { - oauth.addScope(org.keycloak.models.Constants.ACCOUNT_MANAGEMENT_APP, AccountRoles.VIEW_PROFILE); oauth.clientId("third-party"); oauth.doLoginGrant("test-user@localhost", "password"); @@ -192,7 +191,6 @@ public class ProfileTest { @Test public void getProfileOAuthClientNoScope() throws Exception { - oauth.addScope(org.keycloak.models.Constants.ACCOUNT_MANAGEMENT_APP); oauth.clientId("third-party"); oauth.doLoginGrant("test-user@localhost", "password");