Nếu Web mà có nhiều micro-services (Nhiều cổng chạy trọng Node) thì dùng để npm install, npm start để chạy tất cả các cổng được cấu hình.

sử dụng modules:

 jsonwebtoken
 passport
 passport-jwt
 express-session

Cấu hình:

  • SESSION
app.use(session({
    secret: 'JackCodeHammer',
    resave: false,
    saveUninitialized: true,
    cookie: {
        secure: true
    }
}));
  • JWT + Passport

    const ExtractJwt = passportJWT.ExtractJwt; const JwtStrategy = passportJWT.Strategy;

    const jwtOptions = {}; jwtOptions.jwtFromRequest = ExtractJwt.fromAuthHeader(); jwtOptions.secretOrKey = 'tasmanianDevil';

    const strategy = new JwtStrategy(jwtOptions, (jwt_payload, next) => {

      // Đoạn này sẽ phải gọi sang auth app
      let id = jwt_payload.id;
    
    if (Math.floor(Date.now() / 1000) < jwt_payload.exp) { //JWT token is not expired
        request.get({url: `http://localhost:3003/getuser/${id}`, json: true},
            (err, response, body) => {
                next(null, body);
            }
        );
    } else {
        let session = req.session;
        session.login = false;
        console.log('JWT token is expired');
    }
});

passport.use(strategy);
app.use(passport.initialize());

results matching ""

    No results matching ""