Alternatives to Casbin logo

Alternatives to Casbin

Auth0, Amazon Cognito, OAuth2, Spring Security, and Firebase Authentication are the most popular alternatives and competitors to Casbin.
3
12
+ 1
0

What is Casbin and what are its top alternatives?

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.
Casbin is a tool in the User Management and Authentication category of a tech stack.
Casbin is an open source tool with 8.2K GitHub stars and 890 GitHub forks. Here’s a link to Casbin's open source repository on GitHub

Top Alternatives to Casbin

  • Auth0

    Auth0

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

  • 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. ...

  • OAuth2

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

  • Spring Security

    Spring Security

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

  • 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, ...

  • Devise

    Devise

    Devise is a flexible authentication solution for Rails based on Warden

  • Keycloak

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

  • JSON Web Token

    JSON Web Token

    JSON Web Token is an open standard that defines a compact and self-contained way for securely transmitting information between parties as a JSON object. This information can be verified and trusted because it is digitally signed. ...

Casbin alternatives & related posts

related Auth0 posts

I'm starting a new React Native project and trying to decide on an auth provider. Currently looking at Auth0 and Amazon Cognito. It will need to play nice with a Django Rest Framework backend.

See more
Amazon Cognito logo

Amazon Cognito

370
522
30
Securely manage and synchronize app data for your users across their mobile devices
370
522
+ 1
30

related Amazon Cognito posts

I'm starting a new React Native project and trying to decide on an auth provider. Currently looking at Auth0 and Amazon Cognito. It will need to play nice with a Django Rest Framework backend.

See more
OAuth2 logo

OAuth2

330
320
0
An open standard for access delegation
330
320
+ 1
0
PROS OF OAUTH2
    No pros available
    CONS OF OAUTH2
      No cons available

      related OAuth2 posts

      Joshua Dean K√ľpper
      CEO at Scrayos UG (haftungsbeschränkt) · | 7 upvotes · 160.8K views

      As the access to our global REST-API "Charon" is bound to OAuth2, we use Keycloak inside Quarkus to authenticate and authorize users of our API. It is not possible to perform any un-authenticated requests against this API, so we wanted to make really sure that the authentication/authorization component is absolutely reliable and tested. We found those attributes within Keycloak, so we used it.

      See more
      Spring Security logo

      Spring Security

      304
      281
      2
      A powerful and highly customizable authentication and access-control framework
      304
      281
      + 1
      2
      PROS OF SPRING SECURITY
      CONS OF SPRING SECURITY
        No cons available

        related Spring Security posts

        Firebase Authentication logo

        Firebase Authentication

        271
        345
        16
        An App Authentication System In A Few Lines Of Code
        271
        345
        + 1
        16

        related Firebase Authentication posts

        Vue.js vuex Quasar Framework Firebase Firebase Authentication Cloud Firestore Electron Apache Cordova

        I'm developing my new project with the Quasar framework on the front end and Firebase services on the backend.

        See more
        Devise logo

        Devise

        270
        201
        54
        Flexible authentication solution for Rails with Warden
        270
        201
        + 1
        54
        CONS OF DEVISE
          No cons available

          related Devise posts

          Jerome Dalbert
          Senior Backend Engineer at StackShare · | 5 upvotes · 226.6K views
          Shared insights
          on
          OmniAuth
          Devise
          Ruby
          at

          We use OmniAuth with Devise to authenticate users via Twitter, GitHub, Bitbucket and Gitlab. Adding a new OmniAuth authentication provider is basically as easy as adding a new Ruby gem!

          The only drawback I could see is that your OmniAuth+Devise OmniauthCallbacksController redirection logic can easily get hairy over time. So you have to be vigilant to keep it in check.

          See more
          Keycloak logo

          Keycloak

          268
          489
          45
          An open source identity and access management solution
          268
          489
          + 1
          45

          related Keycloak posts

          Joshua Dean K√ľpper
          CEO at Scrayos UG (haftungsbeschränkt) · | 7 upvotes · 160.8K views

          As the access to our global REST-API "Charon" is bound to OAuth2, we use Keycloak inside Quarkus to authenticate and authorize users of our API. It is not possible to perform any un-authenticated requests against this API, so we wanted to make really sure that the authentication/authorization component is absolutely reliable and tested. We found those attributes within Keycloak, so we used it.

          See more
          JSON Web Token logo

          JSON Web Token

          256
          138
          0
          A JSON-based open standard for creating access tokens
          256
          138
          + 1
          0
          PROS OF JSON WEB TOKEN
            No pros available
            CONS OF JSON WEB TOKEN
              No cons available

              related JSON Web Token posts

              Repost

              Overview: To put it simply, we plan to use the MERN stack to build our web application. MongoDB will be used as our primary database. We will use ExpressJS alongside Node.js to set up our API endpoints. Additionally, we plan to use React to build our SPA on the client side and use Redis on the server side as our primary caching solution. Initially, while working on the project, we plan to deploy our server and client both on Heroku . However, Heroku is very limited and we will need the benefits of an Infrastructure as a Service so we will use Amazon EC2 to later deploy our final version of the application.

              Serverside: nodemon will allow us to automatically restart a running instance of our node app when files changes take place. We decided to use MongoDB because it is a non relational database which uses the Document Object Model. This allows a lot of flexibility as compared to a RDMS like SQL which requires a very structural model of data that does not change too much. Another strength of MongoDB is its ease in scalability. We will use Mongoose along side MongoDB to model our application data. Additionally, we will host our MongoDB cluster remotely on MongoDB Atlas. Bcrypt will be used to encrypt user passwords that will be stored in the DB. This is to avoid the risks of storing plain text passwords. Moreover, we will use Cloudinary to store images uploaded by the user. We will also use the Twilio SendGrid API to enable automated emails sent by our application. To protect private API endpoints, we will use JSON Web Token and Passport. Also, PayPal will be used as a payment gateway to accept payments from users.

              Client Side: As mentioned earlier, we will use React to build our SPA. React uses a virtual DOM which is very efficient in rendering a page. Also React will allow us to reuse components. Furthermore, it is very popular and there is a large community that uses React so it can be helpful if we run into issues. We also plan to make a cross platform mobile application later and using React will allow us to reuse a lot of our code with React Native. Redux will be used to manage state. Redux works great with React and will help us manage a global state in the app and avoid the complications of each component having its own state. Additionally, we will use Bootstrap components and custom CSS to style our app.

              Other: Git will be used for version control. During the later stages of our project, we will use Google Analytics to collect useful data regarding user interactions. Moreover, Slack will be our primary communication tool. Also, we will use Visual Studio Code as our primary code editor because it is very light weight and has a wide variety of extensions that will boost productivity. Postman will be used to interact with and debug our API endpoints.

              See more

              Overview: To put it simply, we plan to use the MERN stack to build our web application. MongoDB will be used as our primary database. We will use ExpressJS alongside Node.js to set up our API endpoints. Additionally, we plan to use React to build our SPA on the client side and use Redis on the server side as our primary caching solution. Initially, while working on the project, we plan to deploy our server and client both on Heroku. However, Heroku is very limited and we will need the benefits of an Infrastructure as a Service so we will use Amazon EC2 to later deploy our final version of the application.

              Serverside: nodemon will allow us to automatically restart a running instance of our node app when files changes take place. We decided to use MongoDB because it is a non relational database which uses the Document Object Model. This allows a lot of flexibility as compared to a RDMS like SQL which requires a very structural model of data that does not change too much. Another strength of MongoDB is its ease in scalability. We will use Mongoose along side MongoDB to model our application data. Additionally, we will host our MongoDB cluster remotely on MongoDB Atlas. Bcrypt will be used to encrypt user passwords that will be stored in the DB. This is to avoid the risks of storing plain text passwords. Moreover, we will use Cloudinary to store images uploaded by the user. We will also use the Twilio SendGrid API to enable automated emails sent by our application. To protect private API endpoints, we will use JSON Web Token and Passport. Also, PayPal will be used as a payment gateway to accept payments from users.

              Client Side: As mentioned earlier, we will use React to build our SPA. React uses a virtual DOM which is very efficient in rendering a page. Also React will allow us to reuse components. Furthermore, it is very popular and there is a large community that uses React so it can be helpful if we run into issues. We also plan to make a cross platform mobile application later and using React will allow us to reuse a lot of our code with React Native. Redux will be used to manage state. Redux works great with React and will help us manage a global state in the app and avoid the complications of each component having its own state. Additionally, we will use Bootstrap components and custom CSS to style our app.

              Other: Git will be used for version control. During the later stages of our project, we will use Google Analytics to collect useful data regarding user interactions. Moreover, Slack will be our primary communication tool. Also, we will use Visual Studio Code as our primary code editor because it is very light weight and has a wide variety of extensions that will boost productivity. Postman will be used to interact with and debug our API endpoints.

              See more