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");