Slide 1

Slide 1 text

@mastrolinux FrontConf 2020 Userbase Privacy-first, Open Source, Serverless, JavaScript SDK to create secure web applications.

Slide 2

Slide 2 text

@mastrolinux What do they have in common?

Slide 3

Slide 3 text

@mastrolinux What do they have in common?

Slide 4

Slide 4 text

@mastrolinux What do they have in common?

Slide 5

Slide 5 text

@mastrolinux What do they have in common?

Slide 6

Slide 6 text

@mastrolinux They have to manage users! Pretty standard no? Then let’s setup and oauth2 backend, or SAML, or OpenID or… Wait what?! You are (probably) a Frontend Engineer (I am not, but I know your pain)

Slide 7

Slide 7 text

@mastrolinux Disclaimer My Frontend experience is ~ 0 I am a Cloud Architect and DevOps person I use Linux and Windows and I love Go and Python

Slide 8

Slide 8 text

@mastrolinux Disclaimer But I feel at home here because of the CoC

Slide 9

Slide 9 text

@mastrolinux What you (Dev) usually ask me First of all you ask me for an SSO, then a Database, and they have to be Simple to Use Secure GDPR Compliant No Backend Required Did I already say “Simple to Use”?

Slide 10

Slide 10 text

@mastrolinux The problem 01 GDPR and CCPA are scaring small companies and developers. It is hard to be compliant. 02 Managing users, password resets, login/logout and storing user data has always been a repetitive task. 03 Storing data safely and creating a working scalable backend is still hard for many developers, Serverless and Jamstack are going to be more and more popular.

Slide 11

Slide 11 text

@mastrolinux HISTORY MIT License, we do not fear competition Automatic AWS resource creation Super-small API Infinite scalability On Prem and SaaS Users’ data are a liability Existent software are way too complicated There are not many Open Source projects about this Most of them are about communications/chat (Signal API) Every solution is custom made

Slide 12

Slide 12 text

@mastrolinux Then We Made It Obvious

Slide 13

Slide 13 text

@mastrolinux SOLUTION Javascript SDK Few endpoints DBs are private for users Unlimited number of users Unlimited number of DBs Thanks to DynamoDB JS SDK Admin API

Slide 14

Slide 14 text

@mastrolinux GETTING STARTED

Slide 15

Slide 15 text

@mastrolinux SETUP AND LOGIN

Slide 16

Slide 16 text

@mastrolinux SIGN-UP

Slide 17

Slide 17 text

@mastrolinux SIGNUP ● When a user signs up, the user's client generates a random seed. ● This random seed has an associated public private key pair. ● The user's client also generates an encryption key derived from the user's password. This encryption key is used to encrypt the user's random seed. ● The user's client then sends the server the plaintext public key, as well as the user's encrypted random seed

Slide 18

Slide 18 text

@mastrolinux SIGN-IN

Slide 19

Slide 19 text

@mastrolinux USERS’ FORGOT PASSWORD?

Slide 20

Slide 20 text

@mastrolinux DB OPERATIONS

Slide 21

Slide 21 text

@mastrolinux DB OPERATIONS

Slide 22

Slide 22 text

@mastrolinux

Slide 23

Slide 23 text

@mastrolinux END TO END ENCRYPTED

Slide 24

Slide 24 text

@mastrolinux LIVE DEMO WITH SYNC 182 LoC

Slide 25

Slide 25 text

@mastrolinux RESOURCES ● Official Repo Userbase ● Complete Example Ugliest ToDo List ● Works with ○ Svelte ○ Gatsby ○ React ○ Typescript ○ Your own Framework/Tool

Slide 26

Slide 26 text

@mastrolinux SUMMARY ● SSO with Admin Panel ● E2E Encryption ● Infinite Scalability ● Database real-time sync ● Open Source ● On Premise or SaaS

Slide 27

Slide 27 text

@mastrolinux userbase.com twitter.com/mastrolinux medium.com/@mastrolinux THANK YOU!

Slide 28

Slide 28 text

@mastrolinux Founder Daniel Vassallo 8 years at Amazon AWS (Cloudwatch Logs) Wrote the Book “The Good Parts of AWS” Wanted more motivation Started Userbase Years at AWS 8 Sharing online 100% Book 1 Twitter Star 90%

Slide 29

Slide 29 text

@mastrolinux Dev Justin Berman Backend Developer ES6 Expert Working during the night Writing most of the backend code Node.js Experience 8 ES6 usage 100% Working at night 80% Backend code 75%

Slide 30

Slide 30 text

@mastrolinux Dev Luca Cipriani 6 years at Arduino (CIO) Open Source lover Wants to experiment different technologies Helping Userbase with Testing Years at Arduino 6 Sharing online 100% Degrees 0 Manager 50%