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. Casbin vs Keycloak

Casbin vs Keycloak

OverviewDecisionsComparisonAlternatives

Overview

Keycloak
Keycloak
Stacks780
Followers1.3K
Votes102
Casbin
Casbin
Stacks39
Followers78
Votes0
GitHub Stars19.4K
Forks1.7K

Casbin vs Keycloak: What are the differences?

Key Differences Between Casbin and Keycloak

Casbin and Keycloak are both popular open-source authorization solutions, but they have several key differences. These differences are as follows:

  1. Integration Approach: Casbin is a lightweight and flexible authorization library written in Golang, making it suitable for integrating into various programming languages and frameworks. On the other hand, Keycloak is a complete identity and access management (IAM) solution that offers functionalities beyond authorization, such as single sign-on (SSO) and user management.

  2. Ease of Use and Configuration: Casbin provides a rule-based access control model that allows users to define their access control policies using a simple configuration file, which can be easily understood and managed. In contrast, Keycloak offers a more comprehensive and complex set of features, making it suitable for enterprise-level deployments with more advanced configuration and management requirements.

  3. Scalability and Performance: Due to its lightweight nature, Casbin is highly scalable and can handle a large number of access control policies efficiently. It can be easily deployed in distributed systems and cloud-native environments. Keycloak, being a complete IAM solution, may require more resources and configuration to achieve high scalability and performance in large-scale deployments.

  4. Authorization Model: Casbin follows the well-known Access Control List (ACL) authorization model, where rules are defined explicitly for each user, role, and resource combination. Keycloak, on the other hand, supports various authorization models including Role-Based Access Control (RBAC), Attribute-Based Access Control (ABAC), and User-Based Access Control (UBAC), providing more granular and flexible authorization capabilities.

  5. Community and Support: Both Casbin and Keycloak have active and growing communities, with a wide range of contributors and users. However, Keycloak, being backed by Red Hat, benefits from strong community support and extensive documentation, making it easier to find resources, tutorials, and troubleshooting assistance.

  6. Integration Ecosystem: Casbin provides a pluggable architecture, allowing seamless integration with different frameworks, databases, and programming languages. It supports various adaptors and plugins that can be used to integrate with different systems or extend its functionality. Keycloak, being a more comprehensive IAM solution, provides native integration with a range of other Red Hat products and technologies, such as JBoss, WildFly, and OpenShift.

In summary, Casbin offers a lightweight and flexible authorization library with a simplified configuration approach, whereas Keycloak provides a complete IAM solution with additional features beyond authorization. The choice between the two depends on project requirements, scalability demands, and the need for additional IAM features beyond basic access control.

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, Casbin

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
Casbin
Casbin

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.

In Casbin, an access control model is abstracted into a CONF file based on the PERM metamodel (Policy, Effect, Request, Matchers). So switching or upgrading the authorization mechanism for a project is just as simple as modifying a configuration. You can customize your own access control model by combining the available models.

Statistics
GitHub Stars
-
GitHub Stars
19.4K
GitHub Forks
-
GitHub Forks
1.7K
Stacks
780
Stacks
39
Followers
1.3K
Followers
78
Votes
102
Votes
0
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
No community feedback yet

What are some alternatives to Keycloak, Casbin?

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