diff --git a/examples/cordova/www/index.html b/examples/cordova/www/index.html index 43bd527db22..27d7db14b99 100644 --- a/examples/cordova/www/index.html +++ b/examples/cordova/www/index.html @@ -42,6 +42,7 @@
+
diff --git a/forms/account-api/src/main/java/org/keycloak/account/Account.java b/forms/account-api/src/main/java/org/keycloak/account/Account.java index 61e92e2caa4..060b8a5c733 100644 --- a/forms/account-api/src/main/java/org/keycloak/account/Account.java +++ b/forms/account-api/src/main/java/org/keycloak/account/Account.java @@ -25,6 +25,6 @@ public interface Account { public Account setRealm(RealmModel realm); - public Account setReferrer(String referrer); + public Account setReferrer(String[] referrer); } diff --git a/forms/account-freemarker/src/main/java/org/keycloak/account/freemarker/FreeMarkerAccount.java b/forms/account-freemarker/src/main/java/org/keycloak/account/freemarker/FreeMarkerAccount.java index 1a5cc6720bb..143aa1cc716 100644 --- a/forms/account-freemarker/src/main/java/org/keycloak/account/freemarker/FreeMarkerAccount.java +++ b/forms/account-freemarker/src/main/java/org/keycloak/account/freemarker/FreeMarkerAccount.java @@ -36,7 +36,7 @@ public class FreeMarkerAccount implements Account { private UserModel user; private Response.Status status = Response.Status.OK; private RealmModel realm; - private String referrer; + private String[] referrer; public static enum MessageType {SUCCESS, WARNING, ERROR} @@ -82,9 +82,8 @@ public class FreeMarkerAccount implements Account { attributes.put("message", new MessageBean(messages.containsKey(message) ? messages.getProperty(message) : message, messageType)); } - ApplicationModel referrerApp = getReferrer(); - if (referrerApp != null) { - attributes.put("referrer", new ReferrerBean(referrerApp)); + if (referrer != null) { + attributes.put("referrer", new ReferrerBean(referrer)); } attributes.put("url", new UrlBean(realm, theme, baseUri)); @@ -114,16 +113,6 @@ public class FreeMarkerAccount implements Account { } } - private ApplicationModel getReferrer() { - if (referrer != null) { - ApplicationModel app = realm.getApplicationByName(referrer); - if (app != null) { - return app; - } - } - return null; - } - @Override public Account setError(String message) { this.message = message; @@ -164,7 +153,7 @@ public class FreeMarkerAccount implements Account { } @Override - public Account setReferrer(String referrer) { + public Account setReferrer(String[] referrer) { this.referrer = referrer; return this; } diff --git a/forms/account-freemarker/src/main/java/org/keycloak/account/freemarker/model/ReferrerBean.java b/forms/account-freemarker/src/main/java/org/keycloak/account/freemarker/model/ReferrerBean.java index 8904bf663f8..0734a7bfc7c 100644 --- a/forms/account-freemarker/src/main/java/org/keycloak/account/freemarker/model/ReferrerBean.java +++ b/forms/account-freemarker/src/main/java/org/keycloak/account/freemarker/model/ReferrerBean.java @@ -1,24 +1,22 @@ package org.keycloak.account.freemarker.model; -import org.keycloak.models.ApplicationModel; - /** * @author Stian Thorgersen */ public class ReferrerBean { - private ApplicationModel referrer; + private String[] referrer; - public ReferrerBean(ApplicationModel referrer) { + public ReferrerBean(String[] referrer) { this.referrer = referrer; } public String getName() { - return referrer.getName(); + return referrer[0]; } - public String getBaseUrl() { - return referrer.getBaseUrl(); + public String getUrl() { + return referrer[1]; } } diff --git a/forms/common-themes/src/main/resources/theme/account/base/template.ftl b/forms/common-themes/src/main/resources/theme/account/base/template.ftl index 376a421b9b3..d6a2f5eb61b 100644 --- a/forms/common-themes/src/main/resources/theme/account/base/template.ftl +++ b/forms/common-themes/src/main/resources/theme/account/base/template.ftl @@ -28,7 +28,7 @@