Need advice about which tool to choose?Ask the StackShare community!
Auth0 vs Keycloak: What are the differences?
Auth0 and Keycloak are two well-known identity and access management (IAM) solutions. The following are the primary differences between Auth0 and Keycloak:
Deployment and Hosting: Auth0 is a cloud-based IAM platform that offers a fully managed service, providing ease of deployment and scalability. On the other hand, Keycloak is an open-source IAM solution that can be deployed on-premises or in a private cloud, allowing for more control over the hosting environment.
Configuration and Customization: Auth0 provides a user-friendly interface and extensive configuration options, making it easier to set up and customize authentication and authorization workflows. Keycloak, being an open-source solution, offers more flexibility and customization options, allowing developers to tailor the IAM system to their specific needs.
Integration and Ecosystem: Auth0 offers seamless integration with various external identity providers, social login platforms, and third-party services, making it convenient to integrate with existing systems. Keycloak, as an open-source solution, also supports integration with external providers but may require more development effort and customization.
Pricing and Licensing: Auth0's pricing approach is subscription-based, with multiple tiers based on the amount of active users and additional features. Keycloak is free to use and does not require any licencing fees because it is open-source. Organisations, on the other hand, may need to invest in infrastructure and resources for self-hosting and upkeep.
Support and Documentation: Auth0 provides dedicated customer support, documentation, and a comprehensive knowledge base to assist users with any issues or questions they may have. Keycloak, being community-driven, relies on community forums and documentation for support, with options for paid enterprise support from third-party vendors.
In summary, Auth0 offers a cloud-based IAM platform with easy deployment, configuration options, and extensive integration capabilities. It suits organizations looking for a managed IAM solution with strong support and a wide range of features. On the other hand, Keycloak is an open-source IAM solution providing flexibility, customization options, and cost-effectiveness.
Currently, Passport.js repo has 324 open issues, and Jared (the original author) seems to be the one doing most of the work. Also, given that the documentation is not proper. Is it worth using Passport.js?
As of now, StackShare shows it has 29 companies using it. How do you implement auth in your project or your company? Are there any good alternatives to Passport.js? Should I implement auth from scratch?
I would recommend Auth0 only if you are willing to shell out money. You can keep up with their free version only for a very limited time and as per our experience as a growing startup where budget is an issue, their support was not very helpful as they first asked us to sign a commercial agreement even before helping us t o find out whether Auth0 fits our use case or not! But otherwise Auth0 is a great platform to speed up authentication. In our case we had to move to alternatives like Casbin for multi-tenant authorization!
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.
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/)
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.
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.
I started our team on Amazon Cognito because I was a Solutions Architect at AWS and found it really easy to follow the tutorials and get a basic app up and running with it.
When our team started working with it, they very quickly became frustrated because of the poor documentation. After 4 days of trying to get all the basic passwordless auth working, our lead engineer made the decision to abandon it and try Auth0... and managed to get everything implemented in 4 hours.
The consensus was that Cognito just isn't mature enough or well-documented, and that the implementation does not cater for real world use cases the way that it should. I believe Amplify has made some of this simpler, but I would still recommend Auth0 as it's been bulletproof for us, and is a sensible price.
Pros of Auth0
- JSON web token70
- Integration with 20+ Social Providers31
- It's a universal solution20
- SDKs20
- Amazing Documentation15
- Heroku Add-on11
- Enterprise support8
- Great Sample Repos7
- Extend platform with "rules"7
- Azure Add-on4
- Easy integration, non-intrusive identity provider3
- Passwordless3
- It can integrate seamlessly with firebase2
- Great documentation, samples, UX and Angular support2
- Polished2
- On-premise deployment2
- Will sign BAA for HIPAA-compliance1
- MFA1
- Active Directory support1
- Springboot1
- SOC21
- SAML Support1
- Great support1
- OpenID Connect (OIDC) Support1
Pros of Keycloak
- It's a open source solution33
- Supports multiple identity provider24
- OpenID and SAML support17
- Easy customisation12
- JSON web token10
- Maintained by devs at Redhat6
Sign up to add or upvote prosMake informed product decisions
Cons of Auth0
- Pricing too high (Developer Pro)15
- Poor support7
- Rapidly changing API4
- Status page not reflect actual status4
Cons of Keycloak
- Okta7
- Poor client side documentation6
- Lack of Code examples for client side5