keycloak-memoizeit

Changes

services/src/main/java/org/keycloak/services/IdentityManagerAdapter.java 84(+0 -84)

services/src/main/java/org/keycloak/services/model/data/RealmModel.java 194(+0 -194)

services/src/main/java/org/keycloak/services/model/data/RequiredCredentialModel.java 58(+0 -58)

services/src/main/java/org/keycloak/services/model/data/ResourceModel.java 46(+0 -46)

services/src/main/java/org/keycloak/services/model/data/RoleMappingModel.java 59(+0 -59)

services/src/main/java/org/keycloak/services/model/data/RoleModel.java 35(+0 -35)

services/src/main/java/org/keycloak/services/model/data/ScopeMappingModel.java 49(+0 -49)

services/src/main/java/org/keycloak/services/model/data/UserAttributeModel.java 46(+0 -46)

services/src/main/java/org/keycloak/services/model/data/UserCredentialModel.java 58(+0 -58)

services/src/main/java/org/keycloak/services/model/data/UserModel.java 46(+0 -46)

Details

diff --git a/core/src/main/java/org/keycloak/representations/idm/PublishedRealmRepresentation.java b/core/src/main/java/org/keycloak/representations/idm/PublishedRealmRepresentation.java
index 7693363..11050e9 100755
--- a/core/src/main/java/org/keycloak/representations/idm/PublishedRealmRepresentation.java
+++ b/core/src/main/java/org/keycloak/representations/idm/PublishedRealmRepresentation.java
@@ -30,6 +30,9 @@ public class PublishedRealmRepresentation
    @JsonProperty("grants")
    protected String grantUrl;
 
+   @JsonProperty("identity-grants")
+   protected String identityGrantUrl;
+
    @JsonIgnore
    protected volatile transient PublicKey publicKey;
 
@@ -133,4 +136,14 @@ public class PublishedRealmRepresentation
    {
       this.grantUrl = grantUrl;
    }
+
+   public String getIdentityGrantUrl()
+   {
+      return identityGrantUrl;
+   }
+
+   public void setIdentityGrantUrl(String identityGrantUrl)
+   {
+      this.identityGrantUrl = identityGrantUrl;
+   }
 }
diff --git a/core/src/main/java/org/keycloak/representations/idm/RealmRepresentation.java b/core/src/main/java/org/keycloak/representations/idm/RealmRepresentation.java
index 17a1bb2..166447c 100755
--- a/core/src/main/java/org/keycloak/representations/idm/RealmRepresentation.java
+++ b/core/src/main/java/org/keycloak/representations/idm/RealmRepresentation.java
@@ -2,6 +2,7 @@ package org.keycloak.representations.idm;
 
 import java.util.ArrayList;
 import java.util.List;
+import java.util.Set;
 
 /**
  * @author <a href="mailto:bill@burkecentral.com">Bill Burke</a>
@@ -16,6 +17,7 @@ public class RealmRepresentation
    protected boolean enabled;
    protected boolean sslNotRequired;
    protected boolean cookieLoginAllowed;
+   protected Set<String> roles;
    protected List<RequiredCredentialRepresentation> requiredCredentials;
    protected List<UserRepresentation> users;
    protected List<RoleMappingRepresentation> roleMappings;
@@ -168,4 +170,14 @@ public class RealmRepresentation
    {
       this.accessCodeLifespan = accessCodeLifespan;
    }
+
+   public Set<String> getRoles()
+   {
+      return roles;
+   }
+
+   public void setRoles(Set<String> roles)
+   {
+      this.roles = roles;
+   }
 }
diff --git a/core/src/main/java/org/keycloak/representations/idm/RoleMappingRepresentation.java b/core/src/main/java/org/keycloak/representations/idm/RoleMappingRepresentation.java
index 05915c1..aca2206 100755
--- a/core/src/main/java/org/keycloak/representations/idm/RoleMappingRepresentation.java
+++ b/core/src/main/java/org/keycloak/representations/idm/RoleMappingRepresentation.java
@@ -14,7 +14,6 @@ public class RoleMappingRepresentation
    protected String self; // link
    protected String username;
    protected Set<String> roles;
-   protected Set<String> surrogates;
 
    public String getSelf()
    {
@@ -41,24 +40,6 @@ public class RoleMappingRepresentation
       return roles;
    }
 
-   public Set<String> getSurrogates()
-   {
-      return surrogates;
-   }
-
-   public void setSurrogates(Set<String> surrogates)
-   {
-      this.surrogates = surrogates;
-   }
-
-   public RoleMappingRepresentation surrogate(String surrogate)
-   {
-      if (this.surrogates == null) this.surrogates = new HashSet<String>();
-      this.surrogates.add(surrogate);
-      return this;
-   }
-
-
    public void setRoles(Set<String> roles)
    {
       this.roles = roles;
diff --git a/core/src/main/java/org/keycloak/RSATokenVerifier.java b/core/src/main/java/org/keycloak/RSATokenVerifier.java
index 92c23c8..7b4b2a0 100755
--- a/core/src/main/java/org/keycloak/RSATokenVerifier.java
+++ b/core/src/main/java/org/keycloak/RSATokenVerifier.java
@@ -18,7 +18,11 @@ public class RSATokenVerifier
    {
       PublicKey realmKey = metadata.getRealmKey();
       String realm = metadata.getRealm();
-      String resource = metadata.getResourceName();
+      return verifyToken(tokenString, realmKey, realm);
+   }
+
+   public static SkeletonKeyToken verifyToken(String tokenString, PublicKey realmKey, String realm) throws VerificationException
+   {
       JWSInput input = new JWSInput(tokenString);
       boolean verified = false;
       try
diff --git a/services/src/main/java/org/keycloak/services/models/relationships/RealmAdminRelationship.java b/services/src/main/java/org/keycloak/services/models/relationships/RealmAdminRelationship.java
new file mode 100755
index 0000000..cb24a98
--- /dev/null
+++ b/services/src/main/java/org/keycloak/services/models/relationships/RealmAdminRelationship.java
@@ -0,0 +1,58 @@
+package org.keycloak.services.models.relationships;
+
+import org.picketlink.idm.model.AbstractAttributedType;
+import org.picketlink.idm.model.Agent;
+import org.picketlink.idm.model.Realm;
+import org.picketlink.idm.model.Relationship;
+import org.picketlink.idm.model.annotation.IdentityProperty;
+import org.picketlink.idm.query.RelationshipQueryParameter;
+
+/**
+ * @author <a href="mailto:bill@burkecentral.com">Bill Burke</a>
+ * @version $Revision: 1 $
+ */
+public class RealmAdminRelationship extends AbstractAttributedType implements Relationship
+{
+   private static final long serialVersionUID = 1L;
+
+   public static final RelationshipQueryParameter REALM = new RelationshipQueryParameter() {
+
+      @Override
+      public String getName() {
+         return "realm";
+      }
+   };
+
+   public static final RelationshipQueryParameter ADMIN = new RelationshipQueryParameter() {
+
+      @Override
+      public String getName() {
+         return "admin";
+      }
+   };
+
+   protected Realm realm;
+   protected Agent admin;
+
+   @IdentityProperty
+   public Realm getRealm()
+   {
+      return realm;
+   }
+
+   public void setRealm(Realm realm)
+   {
+      this.realm = realm;
+   }
+
+   @IdentityProperty
+   public Agent getAdmin()
+   {
+      return admin;
+   }
+
+   public void setAdmin(Agent admin)
+   {
+      this.admin = admin;
+   }
+}
diff --git a/services/src/test/java/org/keycloak/test/AdapterTest.java b/services/src/test/java/org/keycloak/test/AdapterTest.java
index 998bedd..6605780 100755
--- a/services/src/test/java/org/keycloak/test/AdapterTest.java
+++ b/services/src/test/java/org/keycloak/test/AdapterTest.java
@@ -7,13 +7,13 @@ import org.junit.FixMethodOrder;
 import org.junit.Test;
 import org.junit.runners.MethodSorters;
 import org.keycloak.representations.idm.RequiredCredentialRepresentation;
-import org.keycloak.services.model.RealmManager;
-import org.keycloak.services.model.RealmModel;
-import org.keycloak.services.model.RealmResourceRelationship;
-import org.keycloak.services.model.RequiredCredentialModel;
-import org.keycloak.services.model.RequiredCredentialRelationship;
-import org.keycloak.services.model.ScopeRelationship;
-import org.keycloak.services.model.UserCredentialModel;
+import org.keycloak.services.models.RealmManager;
+import org.keycloak.services.models.RealmModel;
+import org.keycloak.services.models.relationships.RealmResourceRelationship;
+import org.keycloak.services.models.RequiredCredentialModel;
+import org.keycloak.services.models.relationships.RequiredCredentialRelationship;
+import org.keycloak.services.models.relationships.ScopeRelationship;
+import org.keycloak.services.models.UserCredentialModel;
 import org.picketlink.idm.IdentityManager;
 import org.picketlink.idm.config.IdentityConfigurationBuilder;
 import org.picketlink.idm.credential.Credentials;