Need advice about which tool to choose?Ask the StackShare community!

Keycloak

733
1.3K
+ 1
102
OAuth2

606
637
+ 1
0
Add tool

Keycloak vs OAuth2: What are the differences?

Keycloak and OAuth2 are authentication and authorization frameworks used in web applications. While both provide similar functionalities, there are key differences between the two.

  1. Standard vs. Implementation: OAuth2 is an open standard protocol for authorization, while Keycloak is an open source implementation of the OAuth2 protocol. This means that OAuth2 defines the overall framework and Keycloak provides a specific implementation of it.

  2. Single Sign-On (SSO): Keycloak is designed to support Single Sign-On (SSO) out of the box. It allows users to authenticate once and then access multiple applications without needing to re-authenticate. OAuth2, on the other hand, does not inherently support SSO and requires additional implementation to achieve it.

  3. User Management: Keycloak provides built-in user management features, allowing administrators to create and manage users, roles, and permissions. OAuth2, being a protocol, does not provide user management functionalities by default and requires integration with an external identity provider or user management system.

  4. Token Validation: Keycloak has built-in token validation capabilities, which means it can validate access tokens issued by itself or any other OAuth2 authorization server. While OAuth2 does provide a standard mechanism for token validation, the implementation is left to individual authorization servers.

  5. Security Ecosystem: Keycloak provides additional security features like two-factor authentication, social login integration, and support for various federation protocols (such as SAML and OpenID Connect). OAuth2, being a standard, does not provide these security features by default and relies on external components for their implementation.

  6. Ease of Use: Keycloak aims to provide a fully-featured authentication and authorization solution with a user-friendly interface for configuration and administration. OAuth2, being a protocol, requires additional effort and expertise to set up and configure, as it only defines the overall flow and mechanisms.

In summary, Keycloak is an open-source implementation of the OAuth2 protocol that provides additional features such as SSO, user management, and enhanced security. OAuth2, as a standard, defines the framework for authorization but requires additional components and configuration to achieve the same level of functionality.

Advice on Keycloak and OAuth2
Needs advice
on
KeycloakKeycloakOktaOkta
and
Spring SecuritySpring Security

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.

See more
Replies (3)
Luca Ferrari
Solution Architect at Red Hat, Inc. · | 5 upvotes · 219.8K views
Recommends
on
KeycloakKeycloak

It isn't clear if beside the AuthZ requirement you had others, but given the scenario you described my suggestion would for you to go with Keycloak. First of all because you have already an onpremise IdP and with Keycloak you could maintain that setup (if privacy is a concern). Another important point is configuration and customization: I would assume with Spring OAuth you might have had some custom logic around authentication, this can be easily reconfigured in Keycloak by leveraging SPI (https://www.keycloak.org/docs/latest/server_development/index.html#_auth_spi). Finally AuthZ as a functionality is well developed, based on standard protocols and extensible on Keycloak (https://www.keycloak.org/docs/latest/authorization_services/)

See more
Recommends
on
KeycloakKeycloak

You can also use Keycloak as an Identity Broker, which enables you to handle authentication on many different identity providers of your customers. With this setup, you are able to perform authorization tasks centralized.

See more
Sandor Racz
Recommends
on
KeycloakKeycloak

We have good experience using Keycloak for SSO with OIDC with our Spring Boot based applications. It's free, easy to install and configure, extensible - so I recommend it.

See more
Manage your open source components, licenses, and vulnerabilities
Learn More
Pros of Keycloak
Pros of OAuth2
  • 33
    It's a open source solution
  • 24
    Supports multiple identity provider
  • 17
    OpenID and SAML support
  • 12
    Easy customisation
  • 10
    JSON web token
  • 6
    Maintained by devs at Redhat
    Be the first to leave a pro

    Sign up to add or upvote prosMake informed product decisions

    Cons of Keycloak
    Cons of OAuth2
    • 7
      Okta
    • 6
      Poor client side documentation
    • 5
      Lack of Code examples for client side
      Be the first to leave a con

      Sign up to add or upvote consMake informed product decisions

      What is Keycloak?

      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.

      What is OAuth2?

      It is an authorization framework that enables a third-party application to obtain limited access to an HTTP service, either on behalf of a resource owner by orchestrating an approval interaction between the resource owner and the HTTP service, or by allowing the third-party application to obtain access on its own behalf.

      Need advice about which tool to choose?Ask the StackShare community!

      What companies use Keycloak?
      What companies use OAuth2?
      Manage your open source components, licenses, and vulnerabilities
      Learn More

      Sign up to get full access to all the companiesMake informed product decisions

      What tools integrate with Keycloak?
      What tools integrate with OAuth2?

      Sign up to get full access to all the tool integrationsMake informed product decisions

      Blog Posts

      Sep 29 2020 at 7:36PM

      WorkOS

      PythonSlackG Suite+17
      6
      3145
      What are some alternatives to Keycloak and OAuth2?
      Auth0
      A set of unified APIs and tools that instantly enables Single Sign On and user management to all your applications.
      Okta
      Connect all your apps in days, not months, with instant access to thousands of pre-built integrations - even add apps to the network yourself. Integrations are easy to set up, constantly monitored, proactively repaired and handle authentication and provisioning.
      FreeIPA
      FreeIPA is an integrated Identity and Authentication solution for Linux/UNIX networked environments. A FreeIPA server provides centralized authentication, authorization and account information by storing data about user, groups, hosts and other objects necessary to manage the security aspects of a network of computers.
      Dex
      Dex is a personal CRM that helps you build stronger relationships. Remember where you left off, keep in touch, and be more thoughtful -- all in one place.
      Vault
      Vault is a tool for securely accessing secrets. A secret is anything that you want to tightly control access to, such as API keys, passwords, certificates, and more. Vault provides a unified interface to any secret, while providing tight access control and recording a detailed audit log.
      See all alternatives