0.0.3 • Published 6 years ago
jwt-login v0.0.3
jwt-login
This javascript node module. It is for creating javascript web token and also validating it. under the hood it uses crypto-js
Usage
Following are the Methods in this module
- setSecretKey
- createJWT
- validateJWT
- sign
- signout
- validate_login
include in your project
var JWT = require("jwt-login")
setSecretKey Method
- It sets the secrete key. if not set, it uses defualt one
- Always set secreate key before createJWT method. Do not change it later in your code
JWT.setSecretKey();// this sets new secret key
createJWT Method
- This methods creates the JWT token
- it uses secret key
- payload argument has to be passed
- header argument is optional
var payload = {"user" : username, "expDate" : Date}
//header second is optional.
var token = JWT.createJWT(payload, header)// returns the JWTtoken
validateJWT Method
- This returns the payload in case validation was sucusseful.
- for unsuccessful validatation it returns false.
- Argument is JWT. This JWT token is the one recived from client application.
var valid = validateJWT(JWT);
express js example
const express = require("express")
const httpMsgs = require("http-msgs");
const jwtLogin = require("jwt-login");
const bodyparser = require("body-parser");
const app = express();
app.listen(9000);
app.use(bodyparser.urlencoded({extended : false}));
//login html file
app.get("/login", function(req, res){
res.sendFile(__dirname + "/login.html");
});
//login
app.post("/login", function(req, res){
var user = req.body.user
var password = req.body.password
if (user == password){
jwtLogin.sign(req, res, user,"topsecret", 1, false);
}else{
httpMsgs.send500(req, res, "invalid user");
}
});
// logout
app.get("/logout", function(req, res){
jwtLogin.signout(req, res, false);
});
var valid_login = function(req, res, next){
try {
req.jwt = jwtLogin.validate_login(req, res);
next();
} catch (error) {
httpMsgs.send500(req, res, error);
}
}
/*
===============================
routes
==============================
*/
app.get("/article", valid_login, function(req, res){
var user = req.jwt.user//this the user
httpMsgs.sendJSON(req, res,{
from : "get"
});
});
app.post("/article", function(req, res){
httpMsgs.sendJSON(req, res,{
from : "post"
});
});