Skip to content

Latest commit

 

History

History
115 lines (85 loc) · 4.03 KB

catherine_WD_node-auth-guard.md

File metadata and controls

115 lines (85 loc) · 4.03 KB

hello ✋ This is Catherine
Here we are going to learn the basics of

  1. node-auth-Guard
Hope you like 👍 and understand this 😜,

INTRO TO node-auth-Guard:

node-auth-Guard makes use of CanActivate interface and it checks for if the user is logged in or not. If it returns true, then the execution for the requested route will continue, and if it returns false, then the requested route will be kicked off and the default route will be shown..

Now we can consider an example of an Movie streaming platform like Amazon prime, Netflix, Hotstar..etc thats works with auth guard .

🔑 In the example,the user should subscribe or recharge the account to get access to the homepage,

🔑 Then the user should be above the age of 18 to watch certain movies or shows.

How to get started with node-auth-Guard:

Step1 : You need to install express and node-auth-guard in your node as it is not a core module.

npm i [email protected]
npm i [email protected]

💊 Now the version 4.16.4 of express and 2.4.0 version of node-auth-guard is installed in node.js
step2 : Then , Code your program as

const express=require(‘express’)
let authGuard = require('node-auth-guard');
let app = express();

app.use((req, res, next) => {

   
   req.user ={
       subscriber:{
           name:'joseph',
           surname:'kennedy',
           age:16,
           subscription:true

       }
   }
   next();
});


app.use(authGuard.initialize({
   principalPath: 'user.subscriber',
}));


app.get('/home',
   authGuard.rule(
       (req, res, next) => {
           if (req.user.subscriber.subscription === true) {
               return next()
           }else {
               return next(new Error('Please kindly recharge your account,now'));
           }

       }
   ),
   (req, res, next) => {
       res.end('<h1> hello   '+req.user.subscriber.name+ '</h1><br><h2>welcome back!</h2>');
   }
);


app.get('/movie',
   authGuard.rule(
       (req, res, next) => {
           if (req.user.subscriber.age >= 18) {
           return next()
       }else {
           return next(new Error(' hi  '+req.user.subscriber.name+ ' you are not advised to watch it!'));
       }},
      
       
   ),
   (req, res, next) => {
       res.end('watch movie');
   }
);

app.listen(4000);

Step3 : Now go to the browser and enter the URL

http://localhost:4000/home
http://localhost:4000/movie
to see your output.

you have made ..thumbs up:trophy: congrats :raised_hands:

📝 Explanation :

  • To get to know more about express click me
  • Now define a user with following properties such as name, surname, age and subscribtion.
  • Then initialize the user.
  • With the help of express.js create a localhost server \home and \movie
  • In http://localhost:4000/home it checks whether the user has subscribed or not . If not, it throws an error or else it shows the following output:

THUS THE FINAL OUTPUT::point_down:

  • In http://localhost:4000/movie it checks whether the user is above 18. If yes, it shows the output or else it shows the following error:

THUS THE FINAL OUTPUT::point_down:

💻 Thus if you like follow me on 💻