keycloak-aplcache
Changes
services/src/main/java/org/keycloak/services/models/relationships/RealmAdminRelationship.java 58(+58 -0)
services/src/main/java/org/keycloak/services/models/relationships/RealmResourceRelationship.java 2(+1 -1)
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;