Skip to content
/ azauth Public

azauth client for node.js, single line authentication

Notifications You must be signed in to change notification settings

orenz/azauth

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

31 Commits
 
 
 
 
 
 
 
 

Repository files navigation

azauth

azauth client for node.js, single line authentication

install

npm install azauth

usage

on the server side for express, just add

const azauth=require('azauth');
app.use(azauth.auth);
azauth.setOrigin('mydomain.com'); //this must match the host of your call back url, can also be a RegEx to match a group of domains

That is all. No registration, no keys , no routs... just those lines.

for the login buttons the href is :

http://auth.azjs.io/googleAuth/authTo/{callback url} 
http://auth.azjs.io/facebookAuth/authTo/{callback url}

The calback url shuold be encoded (you can use encodeURIComponent() in the chrome console for this)

Done ! After login you will be redirectd to the callback url, there in the req you will have azAuth with the profile data For example

app.get('/afterLoginCallback',  function(req,res){
    console.log(req.azAuth.data) //this holdes the user profile  
   res.send(`Hi <b> ${req.azAuth.data.emails[0].value} </b> <br>this all the profile info <br> ${JSON.stringify(req.azAuth.data)}` )

})

If you use session, the session object will also holde the user profile under req.session.azAuth

Complete server example that will work anywhere out of the box

 const express = require('express')
 const app = express()

 const port = 80
 const azauth=require('azauth');

 app.use(express.static('public'))
 app.use(azauth.auth);
 azauth.setOrigin(/(.*?)/); //regex match all. DO NOT DO THIS IN PRODUCTION, IT IS NOT SAFE,math only subdomains or domains you trust
 app.get('/', (req, res) => {
   res.send('Hello World!')
 })

 app.listen(port, () => {
   console.log(`Example app listening at port :${port}`)
 })

 app.get('/userLogin', async function(req,res){
        console.log(req.azAuth.data) 
       res.send(`Hi <b> ${req.azAuth.data.emails[0].value} </b> <br>this all the profile info <br> ${JSON.stringify(req.azAuth.data)}` )

 })

login buttons for google and facebook (put any domain and rout instead of 127.0.0.1/userLogin)

 <!--callback url is encodeURIComponent('http://127.0.0.1/userLogin')-->   
 <a href="http://auth.azjs.io/googleAuth/authTo/http%3A%2F%2F127.0.0.1%2FuserLogin">GOOLLE LOGNIN</a>
 <a href="http://auth.azjs.io/facebookAuth/authTo/http%3A%2F%2F127.0.0.1%2FuserLogin">facebook LOGNIN</a>

Enjoy

About

azauth client for node.js, single line authentication

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published