About Keycloak
Keycloak is an identity server. Applications send people to it to sign in. It speaks OpenID Connect and SAML, stores users, and can federate to a directory you already run. Realms separate one set of applications from another.
Why it exists
Every application was building its own login. One identity server lets one account open many tools, and one place disable that account.
Who uses it
Platform teams connecting several applications that should share users.
What it is used for
Single sign-on, user administration and standard tokens. It is not your application database.
Open source behind the product
Red Hat Build of Keycloak is the supported product downstream of this Apache-2.0 project. The open-source server is Java on Quarkus. Your applications stay separate. They trust the tokens Keycloak issues.
How to run it on a server
- Run the official container with a PostgreSQL database you back up. The local database is for a trial.
- Set the hostname and TLS before production. Use the production start mode, not the development start.
- Serve it on HTTPS. Register each application's redirect URLs exactly.
- Export the realm or back up the database before an upgrade.
Follow the project's own guide for the version you install. Commands and file names change between releases.
How to contribute
The keycloak/keycloak repository uses the project's contributing guide. A fix for a documented issue, with a test where the project expects one, is the useful shape.
- Read the project's guidelines. Open the repository and look for CONTRIBUTING, the code of conduct and the README.
- Find something to work on. Browse good first issues or all open issues. Documentation and bug reports count.
- Make a small change. Fork the repository, work on a branch, and keep the change focused.
- Open a pull request. Say what changed and why, and link the issue. See open pull requests.
Contributions are accepted under the project's own licence (Apache-2.0). Some projects also ask you to sign a contributor agreement. A doc fix or a reproduced bug is a real contribution.
Licence: Apache-2.0
Permissive. You can use, modify and distribute it, including commercially, keeping the licence and notices. It includes an express patent grant.
This is a plain-English guide, not legal advice. Read the licence in the repository before you ship it or sell a service on top of it.