diff --git a/forms/common-themes/src/main/resources/theme/login/base/login.ftl b/forms/common-themes/src/main/resources/theme/login/base/login.ftl
index abf4652..9bc1570 100755
--- a/forms/common-themes/src/main/resources/theme/login/base/login.ftl
+++ b/forms/common-themes/src/main/resources/theme/login/base/login.ftl
@@ -5,66 +5,76 @@
<#elseif section = "header">
${rb.loginTitle} <strong>${(realm.name)!''}</strong>
<#elseif section = "form">
- <form id="kc-form-login" class="${properties.kcFormClass!}" action="${url.loginAction}" method="post">
- <div class="${properties.kcFormGroupClass!}">
- <div class="${properties.kcLabelWrapperClass!}">
- <label for="username" class="${properties.kcLabelClass!}">${rb.usernameOrEmail}</label>
- </div>
+ <#if realm.password>
+ <form id="kc-form-login" class="${properties.kcFormClass!}" action="${url.loginAction}" method="post">
+ <div class="${properties.kcFormGroupClass!}">
+ <div class="${properties.kcLabelWrapperClass!}">
+ <label for="username" class="${properties.kcLabelClass!}">${rb.usernameOrEmail}</label>
+ </div>
- <div class="${properties.kcInputWrapperClass!}">
- <input id="username" class="${properties.kcInputClass!}" name="username" value="${login.username!''}" type="text" autofocus />
+ <div class="${properties.kcInputWrapperClass!}">
+ <input id="username" class="${properties.kcInputClass!}" name="username" value="${login.username!''}" type="text" autofocus />
+ </div>
</div>
- </div>
- <div class="${properties.kcFormGroupClass!}">
- <div class="${properties.kcLabelWrapperClass!}">
- <label for="password" class="${properties.kcLabelClass!}">${rb.password}</label>
- </div>
+ <div class="${properties.kcFormGroupClass!}">
+ <div class="${properties.kcLabelWrapperClass!}">
+ <label for="password" class="${properties.kcLabelClass!}">${rb.password}</label>
+ </div>
- <div class="${properties.kcInputWrapperClass!}">
- <input id="password" class="${properties.kcInputClass!}" name="password" type="password" />
+ <div class="${properties.kcInputWrapperClass!}">
+ <input id="password" class="${properties.kcInputClass!}" name="password" type="password" />
+ </div>
</div>
- </div>
- <div class="${properties.kcFormGroupClass!}">
- <div id="kc-form-options" class="${properties.kcFormOptionsClass!}">
- <#if realm.rememberMe>
- <div class="checkbox">
- <label>
- <input id="rememberMe" name="rememberMe" type="checkbox" tabindex="3"> Remember Me
- </label>
- </div>
- </#if>
- <div class="${properties.kcFormOptionsWrapperClass!}">
- <#if realm.resetPasswordAllowed>
- <span>${rb.loginForgot} <a href="${url.loginPasswordResetUrl}">${rb.password}</a>?</span>
+ <div class="${properties.kcFormGroupClass!}">
+ <div id="kc-form-options" class="${properties.kcFormOptionsClass!}">
+ <#if realm.rememberMe>
+ <div class="checkbox">
+ <label>
+ <input id="rememberMe" name="rememberMe" type="checkbox" tabindex="3"> Remember Me
+ </label>
+ </div>
</#if>
+ <div class="${properties.kcFormOptionsWrapperClass!}">
+ <#if realm.resetPasswordAllowed>
+ <span>${rb.loginForgot} <a href="${url.loginPasswordResetUrl}">${rb.password}</a>?</span>
+ </#if>
+ </div>
</div>
- </div>
- <div id="kc-form-buttons" class="${properties.kcFormButtonsClass!}">
- <div class="${properties.kcFormButtonsWrapperClass!}">
- <input class="btn btn-primary btn-lg" name="login" id="kc-login" type="submit" value="${rb.logIn}"/>
- <input class="btn btn-default btn-lg" name="cancel" id="kc-cancel" type="submit" value="${rb.cancel}"/>
- </div>
- </div>
+ <div id="kc-form-buttons" class="${properties.kcFormButtonsClass!}">
+ <div class="${properties.kcFormButtonsWrapperClass!}">
+ <input class="btn btn-primary btn-lg" name="login" id="kc-login" type="submit" value="${rb.logIn}"/>
+ <input class="btn btn-default btn-lg" name="cancel" id="kc-cancel" type="submit" value="${rb.cancel}"/>
+ </div>
+ </div>
+ </div>
+ </form>
+ <#elseif realm.social>
+ <div id="kc-social-providers">
+ <ul>
+ <#list social.providers as p>
+ <li><a href="${p.loginUrl}" class="zocial ${p.id}"> <span class="text">${p.name}</span></a></li>
+ </#list>
+ </ul>
</div>
- </form>
+ </#if>
<#elseif section = "info" >
- <#if realm.registrationAllowed>
+ <#if realm.password && realm.registrationAllowed>
<div id="kc-registration">
<span>${rb.noAccount} <a href="${url.registrationUrl}">${rb.register}</a></span>
</div>
</#if>
- <#if social.providers??>
- <div id="kc-social-providers">
- <ul>
- <#list social.providers as p>
- <li><a href="${p.loginUrl}" class="zocial ${p.id}"> <span class="text">${p.name}</span></a></li>
- </#list>
- </ul>
- </div>
+ <#if realm.password && social.providers??>
+ <div id="kc-social-providers">
+ <ul>
+ <#list social.providers as p>
+ <li><a href="${p.loginUrl}" class="zocial ${p.id}"> <span class="text">${p.name}</span></a></li>
+ </#list>
+ </ul>
+ </div>
</#if>
</#if>
</@layout.registrationLayout>
diff --git a/forms/login-freemarker/src/main/java/org/keycloak/login/freemarker/model/RealmBean.java b/forms/login-freemarker/src/main/java/org/keycloak/login/freemarker/model/RealmBean.java
index a6b52f0..3dcebd8 100755
--- a/forms/login-freemarker/src/main/java/org/keycloak/login/freemarker/model/RealmBean.java
+++ b/forms/login-freemarker/src/main/java/org/keycloak/login/freemarker/model/RealmBean.java
@@ -22,6 +22,8 @@
package org.keycloak.login.freemarker.model;
import org.keycloak.models.RealmModel;
+import org.keycloak.models.RequiredCredentialModel;
+import org.keycloak.representations.idm.CredentialRepresentation;
/**
* @author <a href="mailto:sthorger@redhat.com">Stian Thorgersen</a>
@@ -53,5 +55,14 @@ public class RealmBean {
public boolean isRememberMe() {
return realm.isRememberMe();
}
+
+ public boolean isPassword() {
+ for (RequiredCredentialModel r : realm.getRequiredCredentials()) {
+ if (r.getType().equals(CredentialRepresentation.PASSWORD)) {
+ return true;
+ }
+ }
+ return false;
+ }
}