When you start a new app, chances are you need some authentication, authorization, and maybe even user management. Not everybody should be able to use your app, and not all users should be able to do everything with it. It would also be nice if you could administrate the users without days of admin UI building.
In this article, I'll go over managed services that supply you with the needed functionality, so you don't have to implement a backend for this yourself.
StandAlone Auth Services
The first two services are solely focused on auth and user management.
Auth0
Auth0 is the most prominent service here. Superb developer experience. The services come with extensive docs and example projects.
They have social logins for every provider you can imagine.
Platforms:
- Mobile - Android, Cordova, Ionic 4, iOS Swift, React Native, Windows Universal App C#, WPF / Winforms, Xamarin
- SPA - Vanilla JavaScript, Angular, React, Vue
- Server-side web - Apache, ASP.NET (OWIN), ASP.NET Core v2.1/v3.1, Django, Go, Java, Node.js, PHP, Laravel, Python, Ruby On Rails
- API - ASP.NET Core Web API v2.0/Web API (OWIN), Django API, Go, Laravel API, Node (Express) API, PHP API, Python API, Ruby On Rails API, Spring Security 4/5 Java API
Okta
Okta is probably the main stand-alone auth competitor to Auth0. It also comes with a free plan and has excellent docs and examples.
Social Logins:
- Microsoft
Supported Platforms:
- Mobile - Android, iOS, React-Native
- SPA - Vanilla Javascript, Angular, React, Vue
- Server side web - .Net, Go, Java, Node.js, PHP, Python, REST
Platforms with Integrated Auth Services
These auth services are part of a bigger development platform that offers additional features required to build a fully-fledged app.
Jexia
Jexia is a serverless development platform. It didn't look too deep into it because I saw that user management was a paid pro feature, and I only created a free account.
The pro plan, which is only $8 a month, offers to host, so I guess that when you use their hosting service, you have the right domain anyway, and CORS isn't an issue.
So the whole offering goes more in the Firebase direction.
Platforms:
- SPA - Vanilla JavaScript
- Server side web - Node.js, REST
Netlify
Netlify is a serverless development platform, too, but geared more to the classical website with forms and media downloads.
Netlify Identity is their auth product and comes with most things you now from other auth providers already mentioned here.
It's based on an open-source auth project called GoTrue, created by Netlify. So everything that integrates with GoTrue also integrates with Netlify Identity.
Social Logins:
- GitHub
- GitLab
- Bitbucket
Platforms:
- SPA - Vanilla JavaScript, React
- Server side web - Node.js, REST
The Big Three
Last but not least, the offerings of three big cloud providers: AWS, Google Cloud Platform, and Microsoft Azure.
While they might not be as sophisticated as the stand-alone auth providers' products, they very well integrate with the existing ecosystem of their respective cloud providers.
AWS Cognito
Cognito is AWS's user management system. It can be used via AWS Amplify, a serverless development framework. Amplify could be seen as AWS's answer to Googles Firebase. It also comes with a free plan.
Social Logins:
- Amazon
- Apple
Platforms:
- Mobile - Android, iOS Swift/ObjC, React-Native
- SPA - Vanilla JavaScript, React, Angular, Vue, Web Components
- Server side web - (with the AWS SDK) Node.js, REST, Python, PHP, .NET, Ruby, Java, Go, C++
Google Firebase Auth
Firebase is Googles application development platform. It was one of the first managed backends that included real-time features, and naturally, it comes with auth features.
Social Logins:
- Github
- Microsoft
- Yahoo
Platforms:
- Mobile - Android, iOS, Cordova
- SPA - Vanilla JavaScript, Angular, React
- Games - Unity
Microsoft Azure Active Directory B2C
Active Directory is Microsoft's poster child of authentication, and with Azure Active Directory B2C, it's available as a managed cloud services for frontend developers.
Social Login support is pervasive, you'll probably find your desired service.
Platforms:
- Mobile - Android, iOS
- SPA - Vanilla JavaScript, REST
- Server side - ASP.NET, Python, REST
If you found something else, let me know in the comments!