Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- await server.register(require('hapi-auth-jwt2'));
- server.auth.strategy('jwt', 'jwt', {
- key: 'NeverShareYourSecret',
- validate: validate,
- verifyOptions: { algorithms: ['HS256'] }
- });
- server.auth.default('jwt');
- method: 'POST',
- path: '/login',
- config: { auth: false },
- handler: async function(req, h) {
- try {
- let { username, password } = req.payload;
- let student = await student.findOne({
- username
- });
- let validUser = student && (await bcrypt.compareSync(password,student.password));
- if (validUser) {
- let token = jwt.sign({ id: user.id }, 'mysecretkey');
- console.log('tpken'+token);
- // return h.view('welcome');
- return { token };
- } else {
- return boom.unauthorized('incorrect pass');
- }
- }
- }
- method: 'POST',
- path: '/student',
- config: { auth: false },
- handler: async function(req, h) {
- try {
- let salt = bcrypt.genSaltSync(10);
- req.payload.password = bcrypt.hashSync(req.payload.password, salt);
- let student = new User(req.payload);
- let result = await student.save();
- const expiresIn = 24 * 60 * 60;
- let token = jwt.sign({ id: result.id }, 'mysecretkey',{ expiresIn: expiresIn
- });
- return {token} ;
- }
- }
- {
- method: 'GET',
- path: '/register',
- config: { auth: 'jwt' },
- handler: async (request, h) => {
- try {
- return h.view('student');
- } catch(err){
- return h.response(err).code(500);
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement