Using SuperTokens with Angular and Firebase

Part I: Evaluating the alternatives

--

This post is the first of my four-part series:

I was happily using Firebase Auth in my Angular project, but I wanted to start sharing authentication across (sub)domains, ideally even implementing SSO across completely different domains. A quick Internet search shows that it appears to be possible with Firebase, but it requires some custom development and a fairly deep understanding of authentication and security. I didn’t want to develop a full-blown authentication system myself. I have enough tasks that are higher on my list of priorities to already take me to the ripe age of 500 or so. Getting authentication right is not a trivial task, and technology changes quickly. So I decided to shop around for a third party service.

My needs are fairly simple: I want a straightforward means of integrating authentication with my Angular frontend across different domains. I also intend on using Firebase, at least for the foreseeable future. Eventually I may want to integrate other third party services as well.

Of course, I am also interested in the pricing model.

There are the classics:

Keycloak looks interesting to me, but I am not ready to commit to hosting and maintaining another service. I have been around the block enough times to know that getting bogged down with a well-intentioned, but complex infrastructure is not what I want. Keycloak seems at first glance to be full-featured, well designed, and the price is right. However, maintaining such a system is an ongoing chore. I am not ready to commit at this time.

Auth0 and Okta offer services that appear to be fairly similar to each other. The Okta pricing model turns me off right away. It is not friendly to new projects or for prototyping. Auth0 pricing seems much more reasonable than Okta, but still is not enticing for me.

Right off the bat, the classics did not really appeal to me, so I dug a little deeper. After having shopped around a little more, I came across a relative newcomer: SuperTokens. The project looked promising, and I did not immediately find anything else that appealed to me, so I wanted to give it a try. This series of short articles describes that journey.

In a nutshell: I had a few false starts and setting it up took a bit longer than I had hoped, but in the end, I was satisfied with the product and the community support.

Next: A quick overview of SuperTokens

--

--

David Leangen | Entrepreneur & Software Engineer

Business-oriented engineer & technically oriented executive and entrepreneur. I apply technology to help small businesses thrive.