keycloak-uncached
Changes
examples/cordova/example-realm.json 2(+1 -1)
examples/cors/cors-realm.json 2(+1 -1)
examples/demo-template/testrealm.json 16(+8 -8)
examples/fuse/testrealm.json 14(+7 -7)
examples/kerberos/kerberosrealm.json 4(+2 -2)
misc/HackingOnKeycloak.md 9(+9 -0)
README.md 89(+52 -37)
Details
diff --git a/examples/admin-client/example-realm.json b/examples/admin-client/example-realm.json
index 3317f48..3ce2eaa 100755
--- a/examples/admin-client/example-realm.json
+++ b/examples/admin-client/example-realm.json
@@ -24,7 +24,7 @@
],
"clients": [
{
- "name": "examples-admin-client",
+ "clientId": "examples-admin-client",
"enabled": true,
"fullScopeAllowed": true,
"baseUrl": "/examples-admin-client",
diff --git a/examples/basic-auth/basicauthrealm.json b/examples/basic-auth/basicauthrealm.json
index 0ed1bf5..b8b2acd 100644
--- a/examples/basic-auth/basicauthrealm.json
+++ b/examples/basic-auth/basicauthrealm.json
@@ -43,7 +43,7 @@
},
"clients": [
{
- "name": "basic-auth-service",
+ "clientId": "basic-auth-service",
"enabled": true,
"adminUrl": "/basicauth",
"baseUrl": "/basicauth",
diff --git a/examples/broker/facebook-authentication/facebook-identity-provider-realm.json b/examples/broker/facebook-authentication/facebook-identity-provider-realm.json
index cc8c636..580ab5a 100644
--- a/examples/broker/facebook-authentication/facebook-identity-provider-realm.json
+++ b/examples/broker/facebook-authentication/facebook-identity-provider-realm.json
@@ -32,7 +32,7 @@
},
"clients": [
{
- "name": "facebook-authentication",
+ "clientId": "facebook-authentication",
"enabled": true,
"publicClient" : true,
"adminUrl": "/facebook-authentication",
diff --git a/examples/broker/google-authentication/google-identity-provider-realm.json b/examples/broker/google-authentication/google-identity-provider-realm.json
index a721e34..7db619f 100644
--- a/examples/broker/google-authentication/google-identity-provider-realm.json
+++ b/examples/broker/google-authentication/google-identity-provider-realm.json
@@ -32,7 +32,7 @@
},
"clients": [
{
- "name": "google-authentication",
+ "clientId": "google-authentication",
"enabled": true,
"publicClient" : true,
"adminUrl": "/google-authentication",
diff --git a/examples/broker/saml-broker-authentication/saml-broker-authentication-realm.json b/examples/broker/saml-broker-authentication/saml-broker-authentication-realm.json
index ad757ab..dac9e28 100644
--- a/examples/broker/saml-broker-authentication/saml-broker-authentication-realm.json
+++ b/examples/broker/saml-broker-authentication/saml-broker-authentication-realm.json
@@ -32,7 +32,7 @@
},
"clients": [
{
- "name": "saml-broker-authentication",
+ "clientId": "saml-broker-authentication",
"enabled": true,
"publicClient" : true,
"adminUrl": "/saml-broker-authentication",
diff --git a/examples/broker/saml-broker-authentication/saml-broker-realm.json b/examples/broker/saml-broker-authentication/saml-broker-realm.json
index 8d0bad4..7ac492b 100644
--- a/examples/broker/saml-broker-authentication/saml-broker-realm.json
+++ b/examples/broker/saml-broker-authentication/saml-broker-realm.json
@@ -28,7 +28,7 @@
},
"clients": [
{
- "name": "http://localhost:8080/auth/realms/saml-broker-authentication-realm",
+ "clientId": "http://localhost:8080/auth/realms/saml-broker-authentication-realm",
"protocol": "saml",
"enabled": true,
"redirectUris": [
diff --git a/examples/broker/twitter-authentication/twitter-identity-provider-realm.json b/examples/broker/twitter-authentication/twitter-identity-provider-realm.json
index f9add02..e4c94cb 100644
--- a/examples/broker/twitter-authentication/twitter-identity-provider-realm.json
+++ b/examples/broker/twitter-authentication/twitter-identity-provider-realm.json
@@ -33,7 +33,7 @@
},
"clients": [
{
- "name": "twitter-authentication",
+ "clientId": "twitter-authentication",
"enabled": true,
"publicClient" : true,
"adminUrl": "/twitter-authentication",
@@ -52,7 +52,7 @@
]
},
{
- "name": "admin-client",
+ "clientId": "admin-client",
"enabled": true,
"fullScopeAllowed": true,
"baseUrl": "/admin-client",
examples/cordova/example-realm.json 2(+1 -1)
diff --git a/examples/cordova/example-realm.json b/examples/cordova/example-realm.json
index d07a5d3..13b2864 100755
--- a/examples/cordova/example-realm.json
+++ b/examples/cordova/example-realm.json
@@ -43,7 +43,7 @@
],
"clients": [
{
- "name": "cordova",
+ "clientId": "cordova",
"enabled": true,
"publicClient": true,
"redirectUris": ["http://localhost"],
examples/cors/cors-realm.json 2(+1 -1)
diff --git a/examples/cors/cors-realm.json b/examples/cors/cors-realm.json
index 9e59580..05321fb 100755
--- a/examples/cors/cors-realm.json
+++ b/examples/cors/cors-realm.json
@@ -44,7 +44,7 @@
],
"clients": [
{
- "name": "angular-cors-product",
+ "clientId": "angular-cors-product",
"enabled": true,
"publicClient": true,
"baseUrl": "http://localhost:8080/angular-cors-product/index.html",
examples/demo-template/testrealm.json 16(+8 -8)
diff --git a/examples/demo-template/testrealm.json b/examples/demo-template/testrealm.json
index 4b4d669..92643aa 100755
--- a/examples/demo-template/testrealm.json
+++ b/examples/demo-template/testrealm.json
@@ -94,7 +94,7 @@
],
"clients": [
{
- "name": "customer-portal",
+ "clientId": "customer-portal",
"enabled": true,
"adminUrl": "/customer-portal",
"baseUrl": "/customer-portal",
@@ -104,7 +104,7 @@
"secret": "password"
},
{
- "name": "customer-portal-js",
+ "clientId": "customer-portal-js",
"enabled": true,
"publicClient": true,
"baseUrl": "/customer-portal-js",
@@ -113,7 +113,7 @@
]
},
{
- "name": "angular-product",
+ "clientId": "angular-product",
"enabled": true,
"publicClient": true,
"baseUrl": "/angular-product/index.html",
@@ -122,7 +122,7 @@
]
},
{
- "name": "customer-portal-cli",
+ "clientId": "customer-portal-cli",
"enabled": true,
"publicClient": true,
"redirectUris": [
@@ -131,7 +131,7 @@
]
},
{
- "name": "product-portal",
+ "clientId": "product-portal",
"enabled": true,
"adminUrl": "/product-portal",
"baseUrl": "/product-portal",
@@ -141,14 +141,14 @@
"secret": "password"
},
{
- "name": "database-service",
+ "clientId": "database-service",
"enabled": true,
"adminUrl": "/database",
"baseUrl": "/database",
"bearerOnly": true
},
{
- "name": "third-party",
+ "clientId": "third-party",
"enabled": true,
"consentRequired": true,
"redirectUris": [
@@ -158,7 +158,7 @@
"secret": "password"
},
{
- "name": "admin-client",
+ "clientId": "admin-client",
"enabled": true,
"publicClient": true,
"directGrantsOnly": true,
examples/fuse/testrealm.json 14(+7 -7)
diff --git a/examples/fuse/testrealm.json b/examples/fuse/testrealm.json
index d474e66..f1b21ee 100644
--- a/examples/fuse/testrealm.json
+++ b/examples/fuse/testrealm.json
@@ -136,7 +136,7 @@
},
"clients": [
{
- "name": "customer-portal",
+ "clientId": "customer-portal",
"enabled": true,
"adminUrl": "http://localhost:8181/customer-portal",
"baseUrl": "http://localhost:8181/customer-portal",
@@ -146,7 +146,7 @@
"secret": "password"
},
{
- "name": "product-portal",
+ "clientId": "product-portal",
"enabled": true,
"adminUrl": "http://localhost:8181/product-portal",
"baseUrl": "http://localhost:8181/product-portal",
@@ -156,7 +156,7 @@
"secret": "password"
},
{
- "name": "builtin-cxf-app",
+ "clientId": "builtin-cxf-app",
"enabled": true,
"adminUrl": "http://localhost:8181/cxf",
"baseUrl": "http://localhost:8181/cxf",
@@ -166,21 +166,21 @@
"secret": "password"
},
{
- "name": "custom-cxf-endpoint",
+ "clientId": "custom-cxf-endpoint",
"enabled": true,
"adminUrl": "http://localhost:8282/PersonServiceCF",
"baseUrl": "http://localhost:8282/PersonServiceCF",
"bearerOnly": true
},
{
- "name": "admin-camel-endpoint",
+ "clientId": "admin-camel-endpoint",
"enabled": true,
"adminUrl": "http://localhost:8383/admin-camel-endpoint",
"baseUrl": "http://localhost:8383/admin-camel-endpoint",
"bearerOnly": true
},
{
- "name": "ssh-jmx-admin-client",
+ "clientId": "ssh-jmx-admin-client",
"enabled": true,
"publicClient": false,
"directGrantsOnly": true,
@@ -194,4 +194,4 @@
"roles": [ "admin", "jmxAdmin" ]
}
]
-}
\ No newline at end of file
+}
diff --git a/examples/js-console/example-realm.json b/examples/js-console/example-realm.json
index 81c92aa..260e938 100755
--- a/examples/js-console/example-realm.json
+++ b/examples/js-console/example-realm.json
@@ -43,7 +43,7 @@
],
"clients": [
{
- "name": "js-console",
+ "clientId": "js-console",
"enabled": true,
"publicClient": true,
"baseUrl": "/js-console",
examples/kerberos/kerberosrealm.json 4(+2 -2)
diff --git a/examples/kerberos/kerberosrealm.json b/examples/kerberos/kerberosrealm.json
index 006961c..6b2b999 100644
--- a/examples/kerberos/kerberosrealm.json
+++ b/examples/kerberos/kerberosrealm.json
@@ -15,7 +15,7 @@
],
"clients": [
{
- "name": "kerberos-app",
+ "clientId": "kerberos-app",
"enabled": true,
"baseUrl": "/kerberos-portal",
"redirectUris": [
@@ -91,4 +91,4 @@
}
}
]
-}
\ No newline at end of file
+}
diff --git a/examples/multi-tenant/tenant1-realm.json b/examples/multi-tenant/tenant1-realm.json
index e759b12..8140b51 100644
--- a/examples/multi-tenant/tenant1-realm.json
+++ b/examples/multi-tenant/tenant1-realm.json
@@ -42,7 +42,7 @@
],
"clients": [
{
- "name": "multi-tenant",
+ "clientId": "multi-tenant",
"enabled": true,
"adminUrl": "/multitenant/tenant1",
"baseUrl": "/multitenant/tenant1",
misc/HackingOnKeycloak.md 9(+9 -0)
diff --git a/misc/HackingOnKeycloak.md b/misc/HackingOnKeycloak.md
new file mode 100644
index 0000000..473df2e
--- /dev/null
+++ b/misc/HackingOnKeycloak.md
@@ -0,0 +1,9 @@
+So you are a developer who wants to start hacking on Keycloak? Here is the short list of things you need to know:
+
+1. You'll get a good feel for the Keycloak server and adapters if you try out the demo apps. Instructions for setting that up are at [https://github.com/keycloak/keycloak/tree/master/examples/demo-template](https://github.com/keycloak/keycloak/tree/master/examples/demo-template).
+2. The build has three Maven roots. There is the obvious one at the root of the project, which builds all the core stuff. The second one is in /distribution. That assembles the appliance, the adapters, and a few other things. The third is in /docbook. That one creates the documentation.
+3. We track everything in [Jira](https://issues.jboss.org/browse/KEYCLOAK). Make sure you create an issue for any changes you propose.
+4. We work with GitHub in much the same way as the WildFly project. You can look at [Hacking on Wildfly](https://developer.jboss.org/wiki/HackingOnWildFly) to get some tips on that.
+5. If you have other questions, ask on the [Developer Mailing List](https://lists.jboss.org/mailman/listinfo/keycloak-dev). We don't use IRC much, so that's the best place to ask.
+6. For a more productive development, please consider using org.keycloak.testutils.KeycloakServer. This class is a Java Application that starts a KC server without requiring you to deploy a WAR file in a specific container.
+
\ No newline at end of file
README.md 89(+52 -37)
diff --git a/README.md b/README.md
index 1d05652..dd5060b 100755
--- a/README.md
+++ b/README.md
@@ -1,39 +1,54 @@
-keycloak
+Keycloak
========
-Please visit [http://keycloak.org](http://keycloak.org) for more information on Keycloak including how to download, documentation,
-and video tutorials.
-
-Keycloak is an SSO Service for web apps and REST services.
-It can be used for social applications as well as enterprise applications. It is based on OpenID Connect with support for SAML 2.0 as well.
-Here's some of the features:
-
-* SSO and Single Log Out for browser applications
-* Social Broker. Enable Google, Facebook, Yahoo, Twitter, GitHub, LinkedIn social login with no code required.
-* Optional LDAP/Active Directory integration
-* Optional User Registration
-* Password and TOTP support (via Google Authenticator or FreeOTP). Client cert auth coming soon.
-* User session management from both admin and user perspective
-* Customizable themes for user facing pages: login, grant pages, account management, emails, and admin console all customizable!
-* OAuth Bearer token auth for REST Services
-* Integrated Browser App to REST Service token propagation
-* Admin REST API
-* OAuth 2.0 Grant requests
-* CORS Support
-* CORS Web Origin management and validation
-* Completely centrally managed user and role mapping metadata. Minimal configuration at the application side
-* Admin Console for managing users, roles, role mappings, applications, user sessions, allowed CORS web origins, and OAuth clients.
-* Deployable as a WAR, appliance, or an Openshift cloud service (SaaS).
-* Supports JBoss AS7, EAP 6.x, Wildfly, Tomcat, and Jetty applications. Plans to support Node.js, RAILS, GRAILS, and other non-Java applications.
-* Javascript/HTML 5 adapter for pure Javascript apps
-* Session management from admin console
-* Revocation policies
-* Password policies
-* OpenID Connect Support
-* SAML Support
-* Token claim and SAML assertion mappings, role name mappings, etc. Ability to configure exactly what information you want in your tokens and SAML documents
-* IDP brokering or chaining. You can set up Keycloak to be a child IDP to another SAML or OIDC IDP.
-* Kerberos bridging. Logged in Kerberos users can access Keycloak SAML or OIDC applications via our Kerberos bridge.
-
-Please visit [http://keycloak.org](http://keycloak.org) for more information on Keycloak including how to download, documentation,
-and video tutorials.
+Keycloak is an SSO Service for web apps and REST services. For more information visit [http://keycloak.org](http://keycloak.org).
+
+
+Building
+--------
+
+Ensure you have JDK 7 (or newer) and Maven 3.2.1 (or newer) installed
+
+ java -version
+ mvn -version
+
+To build Keycloak run:
+
+ mvn install
+
+This will build all modules and run the testsuite.
+
+To build the distribution run:
+
+ mvn install -Pdistribution
+
+Once completed you will find distribution archives in `distribution`.
+
+
+Starting Keycloak
+-----------------
+
+To start Keycloak during development first build as specficied above, then run:
+
+ mvn -f testsuite/integration/pom.xml exec:java -Pkeycloak-server
+
+
+To start Keycloak from the appliance distribution first build the distribution it as specified above, then run:
+
+ tar xfz distribution/appliance-dist/target/keycloak-appliance-dist-all-<VERSION>.tar.gz
+ cd keycloak-appliance-dist-all-<VERSION>/keycloak
+ bin/standalone.sh
+
+To stop the server press `Ctrl + C`.
+
+
+Contributing
+------------
+
+* [Hacking On Keycloak](https://github.com/keycloak/keycloak/blob/master/misc/HackingOnKeycloak.md)
+
+
+License
+-------
+
+* [Apache License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0)
\ No newline at end of file