Need advice about which tool to choose?Ask the StackShare community!
Amazon Cognito vs Auth0: What are the differences?
Developers describe Amazon Cognito as "Securely manage and synchronize app data for your users across their mobile devices". 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. On the other hand, Auth0 is detailed as "Token-based Single Sign On for your Apps and APIs with social, databases and enterprise identities". A set of unified APIs and tools that instantly enables Single Sign On and user management to all your applications.
Amazon Cognito and Auth0 can be primarily classified as "User Management and Authentication" tools.
Some of the features offered by Amazon Cognito are:
- Manage Unique Identities
- Work Offline
- Store and Sync across Devices
On the other hand, Auth0 provides the following key features:
- User and Password support with verification and forgot password email workflow
- Painless SAML Auth with Enterprises
- Integration with 20+ Social Providers
"Backed by Amazon" is the primary reason why developers consider Amazon Cognito over the competitors, whereas "JSON web token" was stated as the key factor in picking Auth0.
Binary.com, Chattermill, and White Rabbit Express are some of the popular companies that use Auth0, whereas Amazon Cognito is used by ChromaDex, Sendhelper Pte Ltd, and Strain Merchant. Auth0 has a broader approval, being mentioned in 121 company stacks & 55 developers stacks; compared to Amazon Cognito, which is listed in 41 company stacks and 13 developer stacks.
Hey all, We're currently weighing up the pros & cons of using Firebase Authentication vs something more OTB like Auth0 or Okta to manage end-user access management for a consumer digital content product. From what I understand so far, Something like Firebase Auth would require more dev effort but is likely to cost less overall, whereas OTB, you have a UI-based console which makes config by non-technical business users easier to manage. Does anyone else have any intuitions or experiences they could share on this, please? Thank you!
Hey, we've had implemented Firebase auth in less than two days. Their doc is amazing and I don't understand why you think that it will take more effort than Auth0. Prices are really good (free, except if you use more than 10k/sms month).
We need to migrate our authentication system to an external solution. We have a Vue.js frontend and a set of Services (mostly in Python) that talk to each other through APIs. This platform is multitenant, having all tenants in the same DB (MongoDB) and discriminating between them with a parameter value. So I'll be grateful if someone can share their experiences with any of these three options!
If these three are your options, I would recommend going with Auth0. They have all functionality available as developer API (Okta e.g. not) so you can manage your instance with Infrastructure as code and can also easily add functionalities relatively easily with the API. They are also really powerful if we're talking about ABAC (Attribute based access control). You can also enrich your access token with custom claims from your MongoDB, that can be probably really useful, as you said that you're dealing with multi tenancy.
We're using Auth0 in combination with Fauna Fauna is a database, so it would challenge you're mongodb. But Faunadb is the first database that implemented a full end user ABAC system directly in the database. (And also a lot easier than the ABAC systems from Okta or Auth0). This helps us, to use Auth0 only as identity platform and doing all the authorization with enriched claims over Fauna. With that you can skip in a lot of the cases you're backend, and you can request directly from the frontend your database (Blazing fast). Also, you can replace in some years Auth0 a lot easier with some upcoming cheaper (Auth0 was bought by Okta for a hilarious price) and "easy to use" passwordless identity provider like Passage.id
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!
Using Auth0 and JWT with a simple session management server is easy and takes care of a lot of the hassle of setting up authentication. We feel safe having Auth0 handle and store our user data knowing their databases are way more secure than anything we could have setup ourselves. They also provide great tools like WebHooks and action events to pull critical metadata to our API when we need 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.