keycloak-uncached

Merge pull request #405 from patriot1burke/master redirect

5/20/2014 10:31:23 AM

Details

diff --git a/forms/common-themes/src/main/resources/theme/admin/base/resources/js/controllers/applications.js b/forms/common-themes/src/main/resources/theme/admin/base/resources/js/controllers/applications.js
index 5f4f6b2..ff4a8eb 100755
--- a/forms/common-themes/src/main/resources/theme/admin/base/resources/js/controllers/applications.js
+++ b/forms/common-themes/src/main/resources/theme/admin/base/resources/js/controllers/applications.js
@@ -264,7 +264,7 @@ module.controller('ApplicationDetailCtrl', function($scope, realm, application, 
 
     $scope.save = function() {
         if ($scope.create) {
-            if (!$scope.application.redirectUris || $scope.application.redirectUris.length == 0) {
+            if (!$scope.application.bearerOnly && (!$scope.application.redirectUris || $scope.application.redirectUris.length == 0)) {
                 Notifications.error("You must specify at least one redirect uri");
             } else {
                 Application.save({
diff --git a/forms/common-themes/src/main/resources/theme/admin/base/resources/partials/application-detail.html b/forms/common-themes/src/main/resources/theme/admin/base/resources/partials/application-detail.html
index 5d4c930..600f72e 100755
--- a/forms/common-themes/src/main/resources/theme/admin/base/resources/partials/application-detail.html
+++ b/forms/common-themes/src/main/resources/theme/admin/base/resources/partials/application-detail.html
@@ -76,7 +76,7 @@
                         </div>
                     </div>
                 </div>
-                <div class="form-group">
+                <div class="form-group" data-ng-show="!application.bearerOnly">
                     <label class="col-sm-2 control-label" for="baseUrl">Base URL</label>
                     <div class="col-sm-4">
                         <input class="form-control" type="text" name="baseUrl" id="baseUrl"
@@ -90,7 +90,7 @@
                                data-ng-model="application.adminUrl">
                     </div>
                 </div>
-                <div class="form-group">
+                <div class="form-group" data-ng-show="!application.bearerOnly">
                     <label class="col-sm-2 control-label" for="newWebOrigin">Web Origin</label>
                     <div class="col-sm-6">
                         <div ng-repeat="webOrigin in application.webOrigins" class="row kc-item-deletable">
diff --git a/services/src/main/java/org/keycloak/services/resources/admin/ApplicationResource.java b/services/src/main/java/org/keycloak/services/resources/admin/ApplicationResource.java
index 7927fad..0e29604 100755
--- a/services/src/main/java/org/keycloak/services/resources/admin/ApplicationResource.java
+++ b/services/src/main/java/org/keycloak/services/resources/admin/ApplicationResource.java
@@ -75,7 +75,7 @@ public class ApplicationResource {
 
     @Path("claims")
     public ClaimResource getClaimResource() {
-        return new ClaimResource(application);
+        return new ClaimResource(application, auth);
     }
 
     @PUT
diff --git a/services/src/main/java/org/keycloak/services/resources/admin/ClaimResource.java b/services/src/main/java/org/keycloak/services/resources/admin/ClaimResource.java
index 579394e..4d260e5 100755
--- a/services/src/main/java/org/keycloak/services/resources/admin/ClaimResource.java
+++ b/services/src/main/java/org/keycloak/services/resources/admin/ClaimResource.java
@@ -17,20 +17,24 @@ import javax.ws.rs.core.MediaType;
  */
 public class ClaimResource {
     protected ClientModel model;
+    protected RealmAuth auth;
 
-    public ClaimResource(ClientModel model) {
+    public ClaimResource(ClientModel model, RealmAuth auth) {
         this.model = model;
+        this.auth = auth;
     }
 
     @GET
     @Produces(MediaType.APPLICATION_JSON)
     public ClaimRepresentation getClaims() {
+        auth.requireView();
         return ModelToRepresentation.toRepresentation(model);
     }
 
     @PUT
     @Consumes(MediaType.APPLICATION_JSON)
     public void updateClaims(ClaimRepresentation rep) {
+        auth.requireManage();
         ClaimManager.setClaims(model, rep);
     }
 }
diff --git a/services/src/main/java/org/keycloak/services/resources/admin/OAuthClientResource.java b/services/src/main/java/org/keycloak/services/resources/admin/OAuthClientResource.java
index dce37c1..3c4d9a9 100755
--- a/services/src/main/java/org/keycloak/services/resources/admin/OAuthClientResource.java
+++ b/services/src/main/java/org/keycloak/services/resources/admin/OAuthClientResource.java
@@ -60,7 +60,7 @@ public class OAuthClientResource  {
 
     @Path("claims")
     public ClaimResource getClaimResource() {
-        return new ClaimResource(oauthClient);
+        return new ClaimResource(oauthClient, auth);
     }