Download as pptx, pdf, or txt
Download as pptx, pdf, or txt
You are on page 1of 11

An Insight on

KEYCLOAK
What is Keycloak ?
Keycloak is an open source software product to allow single sign-on with
Identity and Access Management aimed at modern applications and
services.

Keycloak offers features such as :


• Single-Sign-On (SSO),
• Identity Brokering and Social Login,
• User Federation,
• Client Adapters,
• Admin Console,
• Account Management Console
Keycloak Features
Keycloak Features - Detailed
After the brief introduction from the previous paragraph, I think it is time to tell you more about what Keycloak can do.

Multiple Protocols Support


As for now Keycloak supports three different protocols, namely - OpenID Connect, OAuth 2.0 and SAML 2.0.

SSO
Keycloak has full support for Single Sign-On and Single Sign-Out.

Admin Console
Keycloak offers web-based GUI where you can “click out” all configurations required by your instance to work as you
desire.

User Identity and Accesses


Keycloak can be used as a standalone user identity and access manager by allowing us to create users database with
custom roles and groups. This information can be further used to authenticate users within our application and secure
parts of it based on pre-defined roles.
External Identity Source Sync
In case when your client currently has some type of user database, Keycloak allows us to synchronize with such database. By
default, it supports LDAP and Active Directory but you can create custom extensions for any user database using Keycloak
User storage API. Keep in mind that such a solution may not have all data necessary for Keycloak to be fully functional, so
remember to check if your desired functionality works.

Identity Brokering
Keycloak can also work as a proxy between your users and some external identity provider or providers. Their list can be
edited from Keycloak Admin Panel.

Social Identity Providers


Additionally, Keycloak allows us to use Social Identity Providers. It has built-in support Google, Twitter, Facebook, Stack
Overflow but, in the end, you have to configure all of them manually from admin panel. The full list of supported social
identity providers and their configuration manual can be found in Keycloak documentation.

Pages Customization
Keycloak lets you customize all pages displayed by it to your users. Those pages are in .ftl format so you can use classic HTML 
markups and CSS styles to make the page fit your  application style and your company brand. You can even put
custom JS scripts as part of pages customization so possibilities are limitless.
Keycloak Integrations

 How to integrate it into your app? 

• In case of Spring Boot, it is spring-boot-keycloak-starter while in case of Quarkus it is quarks-

keycloak-authorization.

• On the other hand, in Python package python-keycloak seems pretty useful. 

• For Scala-based application library, keycloak4s also sounds good. 

• For C# based application Keycloak.Net looks like a handy lib. 


FAQ 
What is Keycloak?
Keycloak is a tool for Identity and Access Management

Is Keycloak free?
Yes, as for now Keycloak is open-source and has Apache License 2.0.

Which security protocols are supported by Keycloak?


As for now Keycloak supports OpenID Connect, OAuth 2.0 and SAML 2.0.

Does Keycloak support SSO?


Yes, Keycloak support both Single Sign-On and Single Sign-Out.

What are current Keycloak distributions?


As for now, Keycloak has 3 different distributions: Server, Docker image and Operator.

How can I integrate Keycloak?


Keycloak provides API and client library which you can use in your application.
Additionally, there are several implementations of this library in many different languages.

Is there a tool like Keycloak with enterprise support?


Keycloak is an upstream project for Red-hat SSO so I recommend checking it.
Quick Links

Keycloak Github Page


https://github.com/keycloak/keycloak

Keycloak Official Site


https://www.keycloak.org/
User Credentials is validated.
Proposed Solution using Keycloak 4 Session ID is created and Managed
globally for Application A and
Application B in Keycloak

Application “A” opens


up the login page of
Keycloak SSO 2
Keycloak SSO

User is able to access Application


5
“A”. Users Session data is
maintained here
Link to Appln. B

3
User Inputs the
Credentials
Application – B
Application - A (ETP Accelerator)
(CV Portal)

User Requests 6
Login Page of
1
On Click on the link to Application B, the
Application “A” user is transported to the pages of
Application B
User
Keycloak Alternatives

• Okta.

• Auth0.

• Microsoft Azure Active Directory.

• Ping Identity.

• ForgeRock.

• WSO2 Identity Server.

• AWS Single Sign-On.

• OneLogin.
Thank You

You might also like