January 5, 2022 · 3 min read

Novum Insights is Building the Future of Authentication!

Novum Insights are excited to announce the completion of our full stack SvelteKit integration of the Unlock Protocol with Firebase

This will allow developers to build full-stack applications from the ground up, which accept crypto payments, NFT-based subscriptions, and more. These applications can still harness the robustness and power of Firebase in the backend but are now able to utilise NFTs as proof of subscription.

Our previous release of Firebase-Unlock integration (which powers our Momentum Pairs product using Sapper (SvelteKit’s predecessor) consisted of a standalone Firebase Functions integration which makes use of custom tokens for Firebase Auth. 

With our new release, however, we’ve unlocked the potential of NFT-based authentication - meaning they can be used to verify the legitimacy of a user’s subscription. This is a full stack integration that uses Sveltekit. This release also continues to use Firebase functionality such as ‘custom claims’ for easy access to the Firestore.

This library will be used as the template for our future Web3-based web apps. The Novum team will be actively maintaining the library and consistently optimising the user experience. We’ll continue to refine our robust software tool to create something that both the Unlock and Svelte communities can benefit from. 

Imagine automated, silent, friction-less, authentication for any website, board or club completely aligned to your subscription or membership level. Perhaps even generating a related QR code on your mobile for access on the move? Welcome to the future! The possibilities from here are endless and we’re excited to continue innovating to transform the authentication space. 

Here’s a brief walkthrough of the new sign in process:

The user lands on the webpage and is provided with an option to sign in with Metamask. Completing the login process mints a custom firebase authentication token similarly to any social authentication method. Once logged in, it can be verified if the user has a valid subscription thanks to Firestore custom claims

Only authenticated users will be able to read what is in the database. If no subscription exists, the user is then prompted to purchase one via an ETH transfer on Metamask. Once the payment has been made and the transaction confirmed, an Unlock lock is assigned to the ETH address. 

In this way, we have a three-way bind between the Unlock lock, Metamask user address and custom Firebase auth token.

Github’s template description has a full technical write up on how to get started. As a bonus, we have also made it Docker-friendly!

For any issues, bugs or suggestions please add an issue on Github

The Novum Insights Team