docker run -p 8080:8080 -e KEYCLOAK_ADMIN=admin -e KEYCLOAK_ADMIN_PASSWORD=admin quay.io/keycloak/keycloak:20.0.3 start-dev
Make sure you have Docker installed.
From a terminal start Keycloak with the following command:
docker run -p 8080:8080 -e KEYCLOAK_ADMIN=admin -e KEYCLOAK_ADMIN_PASSWORD=admin quay.io/keycloak/keycloak:20.0.3 start-dev
This will start Keycloak exposed on the local port 8080. It will also create an initial admin user with username admin
and password admin
.
Go to the Keycloak Admin Console and login with the username and password you created earlier.
A realm in Keycloak is the equivalent of a tenant. It allows creating isolated groups of applications and users. By default
there is a single realm in Keycloak called master
. This is dedicated to manage Keycloak and should not be used for
your own applications.
Let’s create our first realm.
Open the Keycloak Admin Console
Hover the mouse over the dropdown in the top-left corner where it says master
, then click on Create realm
Fill in the form with the following values:
Realm name: myrealm
Click Create
Initially there are no users in a new realm, so let’s create one:
Open the Keycloak Admin Console
Click Users
(left-hand menu)
Click Create new user
(top-right corner of table)
Fill in the form with the following values:
Username: myuser
First Name: Your first name
Last Name: Your last name
Click Create
The user will need an initial password set to be able to login. To do this:
Click Credentials
(top of the page)
Fill in the Set password
form with a password
Click ON
next to Temporary
to prevent having to update password on first login
Let’s now try to login to the account console to verify the user is configured correctly.
Open the Keycloak Account Console
Login with myuser
and the password you created earlier
You should now be logged-in to the account console where users can manage their accounts.
Let’s try to secure our first application. First step is to register this application with your Keycloak instance:
Open the Keycloak Admin Console
Click 'Clients'
Click 'Create client'
Fill in the form with the following values:
Client type: OpenID Connect
Client ID: myclient
Click 'Next'
Make sure 'Standard flow' is enabled
Click 'Save'
After the client is created you need to update the following values for the client:
Valid redirect URIs: https://www.keycloak.org/app/*
Web origins: https://www.keycloak.org
Remember to click Save
.
To make it easy for you we have a SPA testing application available on the Keycloak website.
Open https://www.keycloak.org/app/ and click Save
to use the default configuration.
Now you can click Sign in
to authenticate to this application using the Keycloak server you started earlier.
Before you go and run Keycloak in production there are a few more things that you will want to do, including:
Switch to a production ready database such as PostgreSQL
Configure SSL with your own certificates
Switch the admin password to a more secure password
For more information check out the server guides.