August 6, 2014
java, JAX-RS, jboss, Keycloak, oauth, openid connect, REST, security, SSO, wildfly
After a summer of multiple vacations from various team members, we’re finally ready to release Keycloak 1.0 Beta 4. There’s not a lot of new features in the release because we focused mainly on performance, creating new SPIs, refactoring code, improving usability, and lastly fixing bugs. 64 issues completed. As usually go to the main keycloak.org page to find download links and to browse our documentation, release notes, or view our screencast tutorials. Here are some of the highlights of the release:
- Server side memory cache for all UI pages.
- Cache-control settings for UI pages
- Server side cache for all backend metadata: realms, applications, and users.
- In-memory implementation for user sessions
- New Federation SPI. Gives you a lot of flexibility to federation external stores into Keycloak
- Improved LDAP/Active Directory support
- Token validation REST API
- Support for HttpServletRequest.logout()
- Lots and lots of bugs fixes and minor improvements
You should see a big performance increase with this release as everything is cachable in memory and the database can be fully bypassed.
1.0 Final is on the way!
What’s next for Keycloak? This month we will be focusing on resolving the remaining issues logged in Jira, improving our test coverage, and updating our documentation and screencasts. No new major features. We’ll have a RC release around 3rd week of August, then our first Final release 2nd week of September!
January 23, 2014
jboss, Keycloak, opensource, REST, security, SSO, wildfly
Keycloak is an SSO authentication server and appliance for securing web applications and RESTful web services. After 7 months of hard work, the Keycloak team (Bill Burke, Stian Thorgersen, Gabriel Cardoso, Viliam Rockai, Alexandre Mendonca, and Bolesław Dawidowicz) is proud to announce our first release, Alpha-1! There’s still a lot to do, but there’s a lot you of features you can try out. Besides written documentation, we’ve put together a bunch of video screencasts that you can view to learn and experience the features of Keycloak.
These are some of the core feature of Keycloak:
- SSO and Single Log Out for browser applications
- Social Broker. Enable Google, Facebook, Yahoo, Twitter social login with no code required.
- Openshift Quick Start so you can deploy Keycloak on the cloud
- Optional User Registration
- Password and TOTP support (via Google Authenticator). Client cert auth coming soon.
- Forgot password management
- OAuth Bearer token auth for REST Services
- Integrated Browser App to REST Service token propagation
- OAuth Bearer token auth for REST Services
- 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 on Openshift.
- Supports JBoss AS7, EAP 6.x, and Wildfly applications. Plans to support Node.js, RAILS, GRAILS, and other non-Java application
Go to the Keycloak website and follow the links to download, view documentation and videos, browse our source code, and submit bugs.
As I said before, there’s still a lot to do, but here’s some things that will get in sooner rather than later:
- Stan Silvert has written a Wildfly subsystem for Keycloak that didn’t get into the Alpha 1 release. When we get this in, it will be super easy to secure web applications within a Wildfly environment. You won’t have to crack open your WARs to add Keycloak configuration and enabling Keycloak security may be as easy as a doing a few clicks in the admin console.
- Storage protection. We’ll be adding support for more secure password hashing as well as storage encryption capabilities for the Keycloak database. Its uber important to be able to have a 2nd level of defense for hacks.
- Revocation policies. We need to be able to expire all tokens just in case somebody gets hacked and broadcast this information to deployed applications.
- User session management. This will allow you to view which users are logged in and give you the ability to log out one or more users.
- Composite roles. This will be the concept of a role group. This will make it easier to change role mappings for a large set of users.
Finally, I want to give a huge thank you to everybody that helped make this release possible (Stian Thorgersen, Gabriel Cardoso, Viliam Rockai, Alexandre Mendonca, and Bolesław Dawidowicz). Especially Stian for being such a great co-lead and Gabriel for doing such awesome design work. This has been the best team I’ve been on since the good old JBoss Group days years and years ago, pre-aquisition when JBoss was young.