StackShareStackShare
Follow on
StackShare

Discover and share technology stacks from companies around the world.

Follow on

© 2025 StackShare. All rights reserved.

Product

  • Stacks
  • Tools
  • Feed

Company

  • About
  • Contact

Legal

  • Privacy Policy
  • Terms of Service
  1. Stackups
  2. Utilities
  3. Authentication
  4. User Management And Authentication
  5. Keycloak vs Spring Security

Keycloak vs Spring Security

OverviewDecisionsComparisonAlternatives

Overview

Keycloak
Keycloak
Stacks780
Followers1.3K
Votes102
Spring Security
Spring Security
Stacks559
Followers589
Votes6
GitHub Stars9.4K
Forks6.2K

Keycloak vs Spring Security: What are the differences?

Keycloak and Spring Security are two popular security frameworks used in building secure applications. Here are the key differences between Keycloak and Spring Security:

  1. Authentication and Authorization: Keycloak is a standalone IAM solution offering centralized authentication and authorization services, including SSO and social login. Spring Security is a flexible security framework integrated into the Spring ecosystem, allowing developers to define authentication and authorization rules within their application code.

  2. Single Sign-On (SSO) and Federation: Keycloak excels in providing SSO capabilities out of the box. It supports various protocols like OpenID Connect, OAuth, and SAML for federated identity management, enabling users to authenticate once and access multiple applications seamlessly. Keycloak acts as an identity broker, allowing users to authenticate against different identity providers. Spring Security, on the other hand, can integrate with SSO solutions like Keycloak and leverage its capabilities for SSO and federation. Spring Security provides a pluggable architecture that allows developers to integrate with various identity providers and implement SSO functionality.

  3. User Management and Administration: Keycloak offers a comprehensive user management and administration interface. It provides features like user registration, password reset, user groups, role-based access control, and fine-grained permission management. Keycloak's administration console allows administrators to manage users, roles, and policies centrally. Spring Security, on the other hand, does not provide a built-in user management interface. Developers using Spring Security need to implement user management and administration features themselves or integrate with external user management systems.

  4. Integration with Ecosystem: Keycloak is a standalone IAM solution and can be used with any application stack. It provides client libraries and SDKs for various programming languages and frameworks. Keycloak integrates well with Java-based applications and frameworks, including Spring. On the other hand, Spring Security is tightly integrated with the Spring ecosystem, making it a natural choice for developers working with Spring-based applications. Spring Security provides seamless integration with other Spring modules, such as Spring MVC, Spring Boot, and Spring Data.

In summary, Keycloak is a standalone IAM solution that offers centralized authentication, authorization, and SSO capabilities. It provides a comprehensive user management and administration interface. Spring Security, on the other hand, is a security framework integrated into the Spring ecosystem, offering flexible security infrastructure and seamless integration with Spring-based applications. It allows developers to define authentication and authorization rules within their application code.

Share your Stack

Help developers discover the tools you use. Get visibility for your team's tech choices and contribute to the community's knowledge.

View Docs
CLI (Node.js)
or
Manual

Advice on Keycloak, Spring Security

sindhujasrivastava
sindhujasrivastava

Jan 16, 2020

Needs advice

I am working on building a platform in my company that will provide a single sign on to all of the internal products to the customer. To do that we need to build an Authorisation server to comply with the OIDC protocol. Earlier we had built the Auth server using the Spring Security OAuth project but since in Spring Security 5.x it is no longer supported we are planning to get over with it as well. Below are the 2 options that I was considering to replace the Spring Auth Server.

  1. Keycloak
  2. Okta
  3. Auth0 Please advise which one to use.
258k views258k
Comments

Detailed Comparison

Keycloak
Keycloak
Spring Security
Spring Security

It is an Open Source Identity and Access Management For Modern Applications and Services. It adds authentication to applications and secure services with minimum fuss. No need to deal with storing users or authenticating users. It's all available out of the box.

It is a framework that focuses on providing both authentication and authorization to Java applications. The real power of Spring Security is found in how easily it can be extended to meet custom requirements.

-
Comprehensive; Servlet API integration; Protection against attacks
Statistics
GitHub Stars
-
GitHub Stars
9.4K
GitHub Forks
-
GitHub Forks
6.2K
Stacks
780
Stacks
559
Followers
1.3K
Followers
589
Votes
102
Votes
6
Pros & Cons
Pros
  • 33
    It's a open source solution
  • 24
    Supports multiple identity provider
  • 17
    OpenID and SAML support
  • 12
    Easy customisation
  • 10
    JSON web token
Cons
  • 7
    Okta
  • 6
    Poor client side documentation
  • 5
    Lack of Code examples for client side
Pros
  • 3
    Easy to use
  • 3
    Java integration
Integrations
No integrations available
Spring Boot
Spring Boot
Spring MVC
Spring MVC

What are some alternatives to Keycloak, Spring Security?

Auth0

Auth0

A set of unified APIs and tools that instantly enables Single Sign On and user management to all your applications.

Stormpath

Stormpath

Stormpath is an authentication and user management service that helps development teams quickly and securely build web and mobile applications and services.

Devise

Devise

Devise is a flexible authentication solution for Rails based on Warden

Firebase Authentication

Firebase Authentication

It provides backend services, easy-to-use SDKs, and ready-made UI libraries to authenticate users to your app. It supports authentication using passwords, phone numbers, popular federated identity providers like Google,

Amazon Cognito

Amazon Cognito

You can create unique identities for your users through a number of public login providers (Amazon, Facebook, and Google) and also support unauthenticated guests. You can save app data locally on users’ devices allowing your applications to work even when the devices are offline.

WorkOS

WorkOS

Start selling to enterprise customers with just a few lines of code.

OAuth.io

OAuth.io

OAuth is a protocol that aimed to provide a single secure recipe to manage authorizations. It is now used by almost every web application. However, 30+ different implementations coexist. OAuth.io fixes this massive problem by acting as a universal adapter, thanks to a robust API. With OAuth.io integrating OAuth takes minutes instead of hours or days.

OmniAuth

OmniAuth

OmniAuth is a Ruby authentication framework aimed to abstract away the difficulties of working with various types of authentication providers. It is meant to be hooked up to just about any system, from social networks to enterprise systems to simple username and password authentication.

ORY Hydra

ORY Hydra

It is a self-managed server that secures access to your applications and APIs with OAuth 2.0 and OpenID Connect. It is OpenID Connect Certified and optimized for latency, high throughput, and low resource consumption.

Kinde

Kinde

Simple, powerful authentication that you can integrate in minutes. Free your users from passwords with secure and frictionless one click sign up and sign in. Built from the ground up using the best in class security protocols available today.

Related Comparisons

Postman
Swagger UI

Postman vs Swagger UI

Mapbox
Google Maps

Google Maps vs Mapbox

Mapbox
Leaflet

Leaflet vs Mapbox vs OpenLayers

Twilio SendGrid
Mailgun

Mailgun vs Mandrill vs SendGrid

Runscope
Postman

Paw vs Postman vs Runscope