keycloak-aplcache

Fixes

8/29/2014 12:11:18 PM

Details

diff --git a/services/src/main/java/org/keycloak/services/resources/AccountService.java b/services/src/main/java/org/keycloak/services/resources/AccountService.java
index 7e190b4..78b3961 100755
--- a/services/src/main/java/org/keycloak/services/resources/AccountService.java
+++ b/services/src/main/java/org/keycloak/services/resources/AccountService.java
@@ -504,7 +504,7 @@ public class AccountService {
         String passwordConfirm = formData.getFirst("password-confirm");
 
         if (requireCurrent) {
-            if (Validation.isEmpty(passwordNew)) {
+            if (Validation.isEmpty(password)) {
                 setReferrerOnPage();
                 return account.setError(Messages.MISSING_PASSWORD).createResponse(AccountPages.PASSWORD);
             }
@@ -516,6 +516,11 @@ public class AccountService {
             }
         }
 
+        if (Validation.isEmpty(passwordNew)) {
+            setReferrerOnPage();
+            return account.setError(Messages.MISSING_PASSWORD).createResponse(AccountPages.PASSWORD);
+        }
+
         if (!passwordNew.equals(passwordConfirm)) {
             setReferrerOnPage();
             return account.setError(Messages.INVALID_PASSWORD_CONFIRM).createResponse(AccountPages.PASSWORD);
@@ -690,6 +695,11 @@ public class AccountService {
 
     public static boolean isPasswordSet(UserModel user) {
         boolean passwordSet = false;
+
+        if (user.getFederationLink() != null) {
+            passwordSet = true;
+        }
+
         for (UserCredentialValueModel c : user.getCredentialsDirectly()) {
             if (c.getType().equals(CredentialRepresentation.PASSWORD)) {
                 passwordSet = true;
diff --git a/testsuite/integration/src/test/java/org/keycloak/testsuite/account/AccountTest.java b/testsuite/integration/src/test/java/org/keycloak/testsuite/account/AccountTest.java
index c8a17be..83bc12c 100755
--- a/testsuite/integration/src/test/java/org/keycloak/testsuite/account/AccountTest.java
+++ b/testsuite/integration/src/test/java/org/keycloak/testsuite/account/AccountTest.java
@@ -159,13 +159,6 @@ public class AccountTest {
         });
     }
 
-    @Ignore
-    @Test
-    public void forever() throws Exception{
-        while (true) Thread.sleep(5000);
-    }
-
-
     @Test
     public void returnToAppFromQueryParam() {
         driver.navigate().to(AccountUpdateProfilePage.PATH + "?referrer=test-app");