Friday, September 21, 2018

Cloud authentication suggestions

We have a multi-tenant SaaS B2B application that I would like to migrate to cloud based authentication. A person signs u a company, and then adds new users to the company (tenant). Users have roles stored in DB, and added as claims on login.

Goals

  • Move authentication data to cloud.
  • Easy to integrate with our web app, and native mobile apps.
  • Optionally allow companies to authenticate against G-Suite or O365.
  • Free or cheap until we hit a certain threshold of users... atleast 1000.

The solutions I have looked at are:

Auth0

  • You get a fair bit out of the box, including a fancy login screen 'Lock'.
  • G-Suite and O365 work out of the box, with no additional code.
  • We would have to handle tenancy ourselves.
  • Looks like real offering is for large companies to federate their logins. Simple authentication seems to be an afterthought.
  • Their community is a wasteland of unanswered questions.
  • Documentation is pretty week as far as .Net goes. They are essentially assuming you use Node.
  • Not cheap, but as our user-base scales, would not have a problem absorbing the cost. Free up to 7k MAUs, 10k for $200.
  • Their 'Lock' login is great. But it seems that it can't really be configured using OWN, so I would essentially be using their API to build my own anyway. This would greatly reduce the value I am getting out of them.

Cognito

  • You get very little out the box, it is really just an API.
  • Cheap, like 10x cheaper. Free up to 50k MAUs/month.
  • Groups look like they may work for tenancy, but I think we would be best to just handle tenancy on our own. Plus there are soft limits on the number of groups you can have. So not really an advantage.
  • Seems geared towards accessing AWS services.
  • .Net docs are pretty weak.

Okta

  • This offering is more inline with Auth0. They seem more focused on federating logins for enterprises. For this reason it is a little hard to find information about the 'Developer API' which is what they call the service I would need.
  • Offers a sign in widget, etc.
  • Less free tier, but would suffice: 1k MAUs for free, 10k for $200.
  • Much better .Net documentation
  • Looks like Claims would be handled nicely... though it may be simpler to handle them ourselves...

I am leaning towards Okta based on documentation alone.

Questions

  • Are there others I should consider?
  • What did you go with when presented with similar goals/situation?
  • Other thoughts?

Cloud authentication suggestions Click here
  • Blogger Comment
  • Facebook Comment

0 comments:

Post a Comment

The webdev Team