keycloak-uncached

KEYCLOAK-86 social registration fix

10/4/2013 11:19:07 AM

Details

diff --git a/forms/src/main/java/org/keycloak/forms/UrlBean.java b/forms/src/main/java/org/keycloak/forms/UrlBean.java
index 86b9a6d..fdb11fe 100644
--- a/forms/src/main/java/org/keycloak/forms/UrlBean.java
+++ b/forms/src/main/java/org/keycloak/forms/UrlBean.java
@@ -34,6 +34,16 @@ public class UrlBean {
 
     private RealmBean realm;
 
+    private boolean socialRegistration;
+
+    public boolean isSocialRegistration() {
+        return socialRegistration;
+    }
+
+    public void setSocialRegistration(boolean socialRegistration) {
+        this.socialRegistration = socialRegistration;
+    }
+
     public UrlBean(RealmBean realm, URI baseURI){
         this.realm = realm;
         this.baseURI = baseURI;
@@ -82,6 +92,8 @@ public class UrlBean {
     public String getRegistrationAction() {
         if (realm.isSaas()) {
             return Urls.saasRegisterAction(baseURI).toString();
+        } else if (socialRegistration){
+            return Urls.socialRegisterAction(baseURI, realm.getId()).toString();
         } else {
             return Urls.realmRegisterAction(baseURI, realm.getId()).toString();
         }
diff --git a/forms/src/main/java/org/keycloak/service/FormServiceImpl.java b/forms/src/main/java/org/keycloak/service/FormServiceImpl.java
index 3dedc5e..1cd60fa 100644
--- a/forms/src/main/java/org/keycloak/service/FormServiceImpl.java
+++ b/forms/src/main/java/org/keycloak/service/FormServiceImpl.java
@@ -169,6 +169,7 @@ public class FormServiceImpl implements FormService {
             attributes.put("realm", realm);
 
             UrlBean url = new UrlBean(realm, dataBean.getBaseURI());
+            url.setSocialRegistration(dataBean.getSocialRegistration());
 
             attributes.put("url", url);
             attributes.put("user", new UserBean(dataBean.getUserModel()));
@@ -213,6 +214,7 @@ public class FormServiceImpl implements FormService {
             attributes.put("realm", realm);
 
             UrlBean url = new UrlBean(realm, dataBean.getBaseURI());
+            url.setSocialRegistration(dataBean.getSocialRegistration());
 
             attributes.put("url", url);
             attributes.put("user", new UserBean(dataBean.getUserModel()));
@@ -236,6 +238,7 @@ public class FormServiceImpl implements FormService {
             attributes.put("realm", realm);
 
             UrlBean url = new UrlBean(realm, dataBean.getBaseURI());
+            url.setSocialRegistration(dataBean.getSocialRegistration());
 
             attributes.put("url", url);
             attributes.put("user", new UserBean(dataBean.getUserModel()));