How to use the Repl.it Authentication API with express.js
@mat1 Has made an epic tutorial on how to use repl.it authentication!
Sadly... it is with python.py and no offense, but python is pretty hard to use.
That's why I use
express.js with node.js!
So, here's my tutorial:
You do what @mat1 did, but different: https://repl.it/talk/learn/Authenticating-users-with-Replit-Auth/23460
I used pug to achieve the same results, and instead of request.headers, you use request.get().
Try logging in!
Examine the code here: https://repl.it/@Coder100/Repl-Auth-Express
There's really not much more to say.
Read @mat1's tutorial and examine my code. Upvote if it worked for you and you could understand the code!
Deriving the API
If you go to Mozilla Firefox, open the repl auth website and type in a random domain, then click on inspect elements, and go to the network tab, fill in the form, you will see something interesting indeed. To get all that interesting headers, you will have to reload the page, as that is how you usually do anything that required updating. Well anyways, the rest is pretty self explanatory but I had to go to the https://expressjs.com documentation to learn how to use res.get().
How the code works
Pretty self explanatory, but if you want to know the gist of it, here you go.
Line 2: create an express application Line 3: Not needed, this was for something else Line 4: Use pug templates Line 5: More unnecessary things Line 8-25: Line 8: Get ‘/‘ directory Line 10-20: If the user has already logged in, we show template 1, which gives all the headers we know. Line 20-24: If the user hasn’t, we show template 2, which suggests the user should log in with repl.it Line 28: Listen I’m on port 8080
Lines 1-13: SEO Line 14-28: Line 14: Gets user and starts if statement Line 15-22: If the user has logged in, show user data Line 22-28: Otherwise, prompt user to log in
If you have any more questions, please comment below with your question!
Pictures and summary
You have authed. Welcome Coder100! - Name: Coder100 - ID: 700842 - roles: self_learner