-
+
+ ng-class="{'dirty': postSaveProviders.indexOf(pId) > -1}" required>
+ ng-class="{'dirty': postSaveProviders.indexOf(pId) > -1}" required>
diff --git a/admin-ui/src/main/resources/META-INF/resources/admin/partials/realm-tokens.html b/admin-ui/src/main/resources/META-INF/resources/admin/partials/realm-tokens.html
index 4092a905da..72146da509 100755
--- a/admin-ui/src/main/resources/META-INF/resources/admin/partials/realm-tokens.html
+++ b/admin-ui/src/main/resources/META-INF/resources/admin/partials/realm-tokens.html
@@ -6,6 +6,7 @@
General
Social
+ Registration
Roles
Credentials
Token
diff --git a/admin-ui/src/main/resources/META-INF/resources/admin/partials/role-list.html b/admin-ui/src/main/resources/META-INF/resources/admin/partials/role-list.html
index b1ae532965..c16515e0b3 100755
--- a/admin-ui/src/main/resources/META-INF/resources/admin/partials/role-list.html
+++ b/admin-ui/src/main/resources/META-INF/resources/admin/partials/role-list.html
@@ -6,6 +6,7 @@
General
Social
+ Registration
Roles
Credentials
Token
diff --git a/core/src/main/java/org/keycloak/representations/idm/ApplicationRepresentation.java b/core/src/main/java/org/keycloak/representations/idm/ApplicationRepresentation.java
index 59347ca49c..bab05a0bec 100755
--- a/core/src/main/java/org/keycloak/representations/idm/ApplicationRepresentation.java
+++ b/core/src/main/java/org/keycloak/representations/idm/ApplicationRepresentation.java
@@ -14,7 +14,6 @@ public class ApplicationRepresentation {
protected String adminUrl;
protected String baseUrl;
protected boolean surrogateAuthRequired;
- protected boolean useRealmMappings;
protected boolean enabled;
protected List credentials;
protected List roles;
@@ -142,14 +141,6 @@ public class ApplicationRepresentation {
return this;
}
- public boolean isUseRealmMappings() {
- return useRealmMappings;
- }
-
- public void setUseRealmMappings(boolean useRealmMappings) {
- this.useRealmMappings = useRealmMappings;
- }
-
public List getRedirectUris() {
return redirectUris;
}
diff --git a/core/src/main/java/org/keycloak/representations/idm/RealmRepresentation.java b/core/src/main/java/org/keycloak/representations/idm/RealmRepresentation.java
index c520fd38b3..3b9b4d1e06 100755
--- a/core/src/main/java/org/keycloak/representations/idm/RealmRepresentation.java
+++ b/core/src/main/java/org/keycloak/representations/idm/RealmRepresentation.java
@@ -33,6 +33,7 @@ public class RealmRepresentation {
protected Set requiredApplicationCredentials;
protected Set requiredOAuthClientCredentials;
protected List users;
+ protected List clients;
protected List roleMappings;
protected List scopeMappings;
protected List socialMappings;
@@ -68,6 +69,10 @@ public class RealmRepresentation {
return users;
}
+ public List getClients() {
+ return clients;
+ }
+
public List getApplications() {
return applications;
}
@@ -84,6 +89,10 @@ public class RealmRepresentation {
this.users = users;
}
+ public void setClients(List clients) {
+ this.clients = clients;
+ }
+
public UserRepresentation user(String username) {
UserRepresentation user = new UserRepresentation();
user.setUsername(username);
diff --git a/dist/assembly.xml b/dist/assembly.xml
index 4c892d194b..62241e2822 100644
--- a/dist/assembly.xml
+++ b/dist/assembly.xml
@@ -16,7 +16,7 @@
**/*.sh
domain/tmp/auth
- domain/tmp/auth
+ standalone/tmp/auth
**/*-users.properties
diff --git a/dist/build.xml b/dist/build.xml
index c9bfd9589c..d48480d445 100644
--- a/dist/build.xml
+++ b/dist/build.xml
@@ -1,19 +1,20 @@
-
-
+
+
-
+
-
+
-
+
+
-
+
diff --git a/dist/pom.xml b/dist/pom.xml
index ef0ff991b3..2876183b4f 100644
--- a/dist/pom.xml
+++ b/dist/pom.xml
@@ -35,9 +35,9 @@
war
- org.jboss.as
- jboss-as-dist
- ${jboss.version}
+ org.wildfly
+ wildfly-dist
+ ${wildfly.version}
zip
@@ -66,6 +66,34 @@
+
+ org.codehaus.mojo
+ xml-maven-plugin
+ 1.0
+
+
+ generate-resources
+ package
+
+ transform
+
+
+
+
+ ${build.target.dir}/standalone/configuration
+ src/main/xslt/standalone.xsl
+
+ standalone*.xml
+
+ ${build.target.dir}/standalone/configuration
+
+
+ ${project.build.directory}
+
+
+
+
+
org.apache.maven.plugins
maven-assembly-plugin
diff --git a/dist/src/main/xslt/standalone.xsl b/dist/src/main/xslt/standalone.xsl
new file mode 100644
index 0000000000..711b71f63f
--- /dev/null
+++ b/dist/src/main/xslt/standalone.xsl
@@ -0,0 +1,33 @@
+
+
+
+
+
+
+
+
+
+
+
+
+ jdbc:h2:${jboss.server.data.dir}/keycloak;DB_CLOSE_DELAY=-1
+ h2
+
+ sa
+ sa
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/examples/as7-eap-demo/server/pom.xml b/examples/as7-eap-demo/server/pom.xml
index 6d21685586..8b82f4b051 100755
--- a/examples/as7-eap-demo/server/pom.xml
+++ b/examples/as7-eap-demo/server/pom.xml
@@ -112,6 +112,11 @@
4.1
test
+
+ org.jboss.spec.javax.servlet
+ jboss-servlet-api_3.0_spec
+ provided
+
diff --git a/examples/as7-eap-demo/server/src/main/resources/META-INF/testrealm.json b/examples/as7-eap-demo/server/src/main/resources/META-INF/testrealm.json
index 284a4be550..cc267ee647 100755
--- a/examples/as7-eap-demo/server/src/main/resources/META-INF/testrealm.json
+++ b/examples/as7-eap-demo/server/src/main/resources/META-INF/testrealm.json
@@ -26,7 +26,9 @@
{ "type" : "password",
"value" : "password" }
]
- },
+ }
+ ],
+ "clients" : [
{
"username" : "third-party",
"enabled": true,
@@ -50,10 +52,6 @@
{
"username": "bburke@redhat.com",
"roles": ["user"]
- },
- {
- "username": "third-party",
- "roles": ["KEYCLOAK_IDENTITY_REQUESTER"]
}
],
"scopeMappings": [
@@ -67,7 +65,6 @@
"name": "customer-portal",
"enabled": true,
"adminUrl": "http://localhost:8080/customer-portal/j_admin_request",
- "useRealmMappings": true,
"credentials": [
{
"type": "password",
@@ -79,7 +76,6 @@
"name": "product-portal",
"enabled": true,
"adminUrl": "http://localhost:8080/product-portal/j_admin_request",
- "useRealmMappings": true,
"credentials": [
{
"type": "password",
@@ -88,4 +84,4 @@
]
}
]
-}
\ No newline at end of file
+}
diff --git a/examples/as7-eap-demo/server/src/main/webapp/WEB-INF/web.xml b/examples/as7-eap-demo/server/src/main/webapp/WEB-INF/web.xml
index fafd74452f..6829b0e56e 100755
--- a/examples/as7-eap-demo/server/src/main/webapp/WEB-INF/web.xml
+++ b/examples/as7-eap-demo/server/src/main/webapp/WEB-INF/web.xml
@@ -21,10 +21,6 @@
true
-
- org.keycloak.services.listeners.MongoRunnerListener
-
-
Keycloak Session Management
org.keycloak.services.filters.KeycloakSessionServletFilter
diff --git a/examples/as7-eap-dev/server/pom.xml b/examples/as7-eap-dev/server/pom.xml
index 4ccbd3ebbc..6428b6e896 100755
--- a/examples/as7-eap-dev/server/pom.xml
+++ b/examples/as7-eap-dev/server/pom.xml
@@ -95,6 +95,11 @@
4.1
test
+
+ org.jboss.spec.javax.servlet
+ jboss-servlet-api_3.0_spec
+ provided
+
diff --git a/examples/as7-eap-dev/server/src/main/resources/META-INF/testrealm.json b/examples/as7-eap-dev/server/src/main/resources/META-INF/testrealm.json
index 41fe13e6d6..888a518809 100755
--- a/examples/as7-eap-dev/server/src/main/resources/META-INF/testrealm.json
+++ b/examples/as7-eap-dev/server/src/main/resources/META-INF/testrealm.json
@@ -26,7 +26,9 @@
{ "type" : "password",
"value" : "password" }
]
- },
+ }
+ ],
+ "clients" : [
{
"username" : "third-party",
"enabled": true,
@@ -50,10 +52,6 @@
{
"username": "bburke@redhat.com",
"roles": ["user"]
- },
- {
- "username": "third-party",
- "roles": ["KEYCLOAK_IDENTITY_REQUESTER"]
}
],
"scopeMappings": [
@@ -67,7 +65,6 @@
"name": "customer-portal",
"enabled": true,
"adminUrl": "http://localhost:8080/customer-portal/j_admin_request",
- "useRealmMappings": true,
"webOrigins" : [ "http://localhost1:8080"],
"credentials": [
{
@@ -80,7 +77,6 @@
"name": "product-portal",
"enabled": true,
"adminUrl": "http://localhost:8080/product-portal/j_admin_request",
- "useRealmMappings": true,
"credentials": [
{
"type": "password",
@@ -89,4 +85,4 @@
]
}
]
-}
\ No newline at end of file
+}
diff --git a/examples/js/testrealm.json b/examples/js/testrealm.json
index 38225c618c..ee72300039 100755
--- a/examples/js/testrealm.json
+++ b/examples/js/testrealm.json
@@ -48,7 +48,6 @@
"name": "test-app",
"enabled": true,
"adminUrl": "http://localhost:8081/app/logout",
- "useRealmMappings": true,
"webOrigins": [ "http://localhost", "http://localhost:8000", "http://localhost:8080" ],
"credentials": [
{
diff --git a/forms/pom.xml b/forms/pom.xml
index 933b9aef0f..08694ad6fa 100755
--- a/forms/pom.xml
+++ b/forms/pom.xml
@@ -38,19 +38,7 @@
resteasy-jaxrs
provided
-
- org.jboss.spec.javax.servlet
- jboss-servlet-api_3.0_spec
-
-
- com.google.zxing
- core
-
-
- com.google.zxing
- javase
-
-
+
org.freemarker
freemarker
diff --git a/forms/src/main/java/org/keycloak/service/FormServiceImpl.java b/forms/src/main/java/org/keycloak/service/FormServiceImpl.java
index b7b914c131..28ed554e08 100755
--- a/forms/src/main/java/org/keycloak/service/FormServiceImpl.java
+++ b/forms/src/main/java/org/keycloak/service/FormServiceImpl.java
@@ -104,7 +104,7 @@ public class FormServiceImpl implements FormService {
Configuration cfg = new Configuration();
try {
- cfg.setClassForTemplateLoading(FormServiceImpl.class,"/META-INF/resources");
+ cfg.setClassForTemplateLoading(FormServiceImpl.class,"/META-INF/resources/forms/theme/default");
Template template = cfg.getTemplate(temp);
template.process(input, out);
diff --git a/forms/src/main/resources/META-INF/resources/forms/access.ftl b/forms/src/main/resources/META-INF/resources/forms/access.ftl
deleted file mode 100644
index bcea82a815..0000000000
--- a/forms/src/main/resources/META-INF/resources/forms/access.ftl
+++ /dev/null
@@ -1 +0,0 @@
-<#include "./theme/" + template.theme + "/access.ftl">
\ No newline at end of file
diff --git a/forms/src/main/resources/META-INF/resources/forms/account.ftl b/forms/src/main/resources/META-INF/resources/forms/account.ftl
deleted file mode 100755
index 5c41000a07..0000000000
--- a/forms/src/main/resources/META-INF/resources/forms/account.ftl
+++ /dev/null
@@ -1 +0,0 @@
-<#include "./theme/" + template.theme + "/account.ftl">
\ No newline at end of file
diff --git a/forms/src/main/resources/META-INF/resources/forms/error.ftl b/forms/src/main/resources/META-INF/resources/forms/error.ftl
deleted file mode 100644
index 2b28cb7066..0000000000
--- a/forms/src/main/resources/META-INF/resources/forms/error.ftl
+++ /dev/null
@@ -1 +0,0 @@
-<#include "./theme/" + template.theme + "/error.ftl">
\ No newline at end of file
diff --git a/forms/src/main/resources/META-INF/resources/forms/login-config-totp.ftl b/forms/src/main/resources/META-INF/resources/forms/login-config-totp.ftl
deleted file mode 100644
index 15fbecc1e9..0000000000
--- a/forms/src/main/resources/META-INF/resources/forms/login-config-totp.ftl
+++ /dev/null
@@ -1 +0,0 @@
-<#include "./theme/" + template.theme + "/login-config-totp.ftl">
\ No newline at end of file
diff --git a/forms/src/main/resources/META-INF/resources/forms/login-oauth-grant.ftl b/forms/src/main/resources/META-INF/resources/forms/login-oauth-grant.ftl
deleted file mode 100644
index 667109fd91..0000000000
--- a/forms/src/main/resources/META-INF/resources/forms/login-oauth-grant.ftl
+++ /dev/null
@@ -1 +0,0 @@
-<#include "./theme/" + template.theme + "/login-oauth-grant.ftl">
\ No newline at end of file
diff --git a/forms/src/main/resources/META-INF/resources/forms/login-reset-password.ftl b/forms/src/main/resources/META-INF/resources/forms/login-reset-password.ftl
deleted file mode 100644
index 69052d0624..0000000000
--- a/forms/src/main/resources/META-INF/resources/forms/login-reset-password.ftl
+++ /dev/null
@@ -1 +0,0 @@
-<#include "./theme/" + template.theme + "/login-reset-password.ftl">
\ No newline at end of file
diff --git a/forms/src/main/resources/META-INF/resources/forms/login-totp.ftl b/forms/src/main/resources/META-INF/resources/forms/login-totp.ftl
deleted file mode 100644
index 9bd8509646..0000000000
--- a/forms/src/main/resources/META-INF/resources/forms/login-totp.ftl
+++ /dev/null
@@ -1 +0,0 @@
-<#include "./theme/" + template.theme + "/login-totp.ftl">
\ No newline at end of file
diff --git a/forms/src/main/resources/META-INF/resources/forms/login-update-password.ftl b/forms/src/main/resources/META-INF/resources/forms/login-update-password.ftl
deleted file mode 100644
index fcf2e69e36..0000000000
--- a/forms/src/main/resources/META-INF/resources/forms/login-update-password.ftl
+++ /dev/null
@@ -1 +0,0 @@
-<#include "./theme/" + template.theme + "/login-update-password.ftl">
\ No newline at end of file
diff --git a/forms/src/main/resources/META-INF/resources/forms/login-update-profile.ftl b/forms/src/main/resources/META-INF/resources/forms/login-update-profile.ftl
deleted file mode 100644
index c05cd6c057..0000000000
--- a/forms/src/main/resources/META-INF/resources/forms/login-update-profile.ftl
+++ /dev/null
@@ -1 +0,0 @@
-<#include "./theme/" + template.theme + "/login-update-profile.ftl">
\ No newline at end of file
diff --git a/forms/src/main/resources/META-INF/resources/forms/login-verify-email.ftl b/forms/src/main/resources/META-INF/resources/forms/login-verify-email.ftl
deleted file mode 100644
index 64af78478b..0000000000
--- a/forms/src/main/resources/META-INF/resources/forms/login-verify-email.ftl
+++ /dev/null
@@ -1 +0,0 @@
-<#include "./theme/" + template.theme + "/login-verify-email.ftl">
\ No newline at end of file
diff --git a/forms/src/main/resources/META-INF/resources/forms/login.ftl b/forms/src/main/resources/META-INF/resources/forms/login.ftl
deleted file mode 100644
index 6033383132..0000000000
--- a/forms/src/main/resources/META-INF/resources/forms/login.ftl
+++ /dev/null
@@ -1 +0,0 @@
-<#include "./theme/" + template.theme + "/login.ftl">
\ No newline at end of file
diff --git a/forms/src/main/resources/META-INF/resources/forms/password.ftl b/forms/src/main/resources/META-INF/resources/forms/password.ftl
deleted file mode 100644
index 6fd1a4f9d4..0000000000
--- a/forms/src/main/resources/META-INF/resources/forms/password.ftl
+++ /dev/null
@@ -1 +0,0 @@
-<#include "./theme/" + template.theme + "/password.ftl">
\ No newline at end of file
diff --git a/forms/src/main/resources/META-INF/resources/forms/register.ftl b/forms/src/main/resources/META-INF/resources/forms/register.ftl
deleted file mode 100644
index ff86d85000..0000000000
--- a/forms/src/main/resources/META-INF/resources/forms/register.ftl
+++ /dev/null
@@ -1 +0,0 @@
-<#include "./theme/" + template.theme + "/register.ftl">
\ No newline at end of file
diff --git a/forms/src/main/resources/META-INF/resources/forms/social.ftl b/forms/src/main/resources/META-INF/resources/forms/social.ftl
deleted file mode 100644
index baf129e26e..0000000000
--- a/forms/src/main/resources/META-INF/resources/forms/social.ftl
+++ /dev/null
@@ -1 +0,0 @@
-<#include "./theme/" + template.theme + "/social.ftl">
\ No newline at end of file
diff --git a/forms/src/main/resources/META-INF/resources/forms/theme/default/css/login-register.css b/forms/src/main/resources/META-INF/resources/forms/theme/default/css/login-register.css
index bc25029b9a..e26aa9dba3 100644
--- a/forms/src/main/resources/META-INF/resources/forms/theme/default/css/login-register.css
+++ b/forms/src/main/resources/META-INF/resources/forms/theme/default/css/login-register.css
@@ -71,7 +71,7 @@ body {
width: auto;
position: relative;
}
-.rcue-login-register .background-area .separator .section,
+.rcue-login-register .background-area .section,
.rcue-login-register .background-area .social .section {
padding-top: 1.5em;
padding-bottom: 1.5em;
@@ -303,10 +303,24 @@ a.zocial:before {
.rcue-login-register .background-area .content-area ul li {
border-top: 1px solid #34393C;
padding: 2em;
+ position: relative;
}
-.rcue-login-register .background-area .content-area ul li span:first-child {
+.rcue-login-register .background-area .content-area ul li span {
font-size: 1.3em;
+ line-height: 1.3em;
}
+
+.rcue-login-register .background-area .content-area ul li span:first-child {
+ padding-right: 11.5384615384615em;
+}
+
+.rcue-login-register .background-area .content-area ul li span.parent {
+ position: absolute;
+ left: 26em;
+ top: 1.53846153846154em;
+ width: 12.3076923076923em;
+}
+
.rcue-login-register .background-area .content-area ul li span.icon-info {
float: right;
margin-top: 0.5em;
diff --git a/forms/src/main/resources/META-INF/resources/forms/theme/default/login-oauth-grant.ftl b/forms/src/main/resources/META-INF/resources/forms/theme/default/login-oauth-grant.ftl
index 85121de320..8ff76db207 100755
--- a/forms/src/main/resources/META-INF/resources/forms/theme/default/login-oauth-grant.ftl
+++ b/forms/src/main/resources/META-INF/resources/forms/theme/default/login-oauth-grant.ftl
@@ -19,17 +19,13 @@
#list>
- <#list oauth.resourceRolesRequested?keys as resourceRole>
-
- ${resourceRole}
-
- <#list oauth.resourceRolesRequested[resourceRole] as role>
-
- <#if role.description??>${role.description}<#else>${role.name}#if>
-
- #list>
-
-
+ <#list oauth.resourceRolesRequested?keys as resource>
+ <#list oauth.resourceRolesRequested[resource] as role>
+
+ <#if role.description??>${role.description}<#else>${role.name}#if>
+ in ${resource}
+
+ #list>
#list>
diff --git a/forms/src/main/resources/META-INF/resources/forms/theme/default/login-reset-password.ftl b/forms/src/main/resources/META-INF/resources/forms/theme/default/login-reset-password.ftl
index 96f87952d1..7a045e5bf2 100755
--- a/forms/src/main/resources/META-INF/resources/forms/theme/default/login-reset-password.ftl
+++ b/forms/src/main/resources/META-INF/resources/forms/theme/default/login-reset-password.ftl
@@ -1,5 +1,5 @@
<#import "template-login-action.ftl" as layout>
-<@layout.registrationLayout bodyClass="reset"; section>
+<@layout.registrationLayout bodyClass="reset" isSeparator=true forceSeparator=true; section>
<#if section = "title">
${rb.getString('emailForgotHeader')}
@@ -23,6 +23,6 @@
<#elseif section = "info" >
- « Back to Login
+ « Back to Login
#if>
@layout.registrationLayout>
\ No newline at end of file
diff --git a/forms/src/main/resources/META-INF/resources/forms/theme/default/login-update-password.ftl b/forms/src/main/resources/META-INF/resources/forms/theme/default/login-update-password.ftl
index 74142e0a31..955d4df01d 100755
--- a/forms/src/main/resources/META-INF/resources/forms/theme/default/login-update-password.ftl
+++ b/forms/src/main/resources/META-INF/resources/forms/theme/default/login-update-password.ftl
@@ -1,5 +1,5 @@
<#import "template-login-action.ftl" as layout>
-<@layout.registrationLayout bodyClass="reset"; section>
+<@layout.registrationLayout bodyClass="reset" isSeparator=false forceSeparator=true; section>
<#if section = "title">
${rb.getString('emailUpdateHeader')}
diff --git a/forms/src/main/resources/META-INF/resources/forms/theme/default/login-update-profile.ftl b/forms/src/main/resources/META-INF/resources/forms/theme/default/login-update-profile.ftl
index 32bdd23c48..ca707a566b 100755
--- a/forms/src/main/resources/META-INF/resources/forms/theme/default/login-update-profile.ftl
+++ b/forms/src/main/resources/META-INF/resources/forms/theme/default/login-update-profile.ftl
@@ -1,5 +1,5 @@
<#import "template-login-action.ftl" as layout>
-<@layout.registrationLayout bodyClass=""; section>
+<@layout.registrationLayout bodyClass="" isSeparator=false forceSeparator=true; section>
<#if section = "title">
Update Account Information
diff --git a/forms/src/main/resources/META-INF/resources/forms/theme/default/login-verify-email.ftl b/forms/src/main/resources/META-INF/resources/forms/theme/default/login-verify-email.ftl
index 0832666004..cc83a85ea1 100755
--- a/forms/src/main/resources/META-INF/resources/forms/theme/default/login-verify-email.ftl
+++ b/forms/src/main/resources/META-INF/resources/forms/theme/default/login-verify-email.ftl
@@ -1,5 +1,5 @@
<#import "template-login-action.ftl" as layout>
-<@layout.registrationLayout bodyClass="email"; section>
+<@layout.registrationLayout bodyClass="email" isSeparator=false forceSeparator=true; section>
<#if section = "title">
Email verification
diff --git a/forms/src/main/resources/META-INF/resources/forms/theme/default/template-login-action.ftl b/forms/src/main/resources/META-INF/resources/forms/theme/default/template-login-action.ftl
index 982b31f101..f3113dc001 100644
--- a/forms/src/main/resources/META-INF/resources/forms/theme/default/template-login-action.ftl
+++ b/forms/src/main/resources/META-INF/resources/forms/theme/default/template-login-action.ftl
@@ -1,4 +1,4 @@
-<#macro registrationLayout bodyClass isErrorPage=false>
+<#macro registrationLayout bodyClass isErrorPage=false isSeparator=false forceSeparator=false>
@@ -7,6 +7,7 @@
<#nested "title">
+