Advertisement
Guest User

Untitled

a guest
Jul 22nd, 2019
105
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. const sha224 = require('js-sha256').sha224;
  2. const logger = require('./../core/logger');
  3. const { User } = require('../models/Models');
  4.  
  5. class AuthController {
  6.  
  7.         authSteam(req, identifier, profile, done) {
  8.             User.findOne({ where: { steamid: profile._json.steamid, vk_id: null } })
  9.                 .then(user => {
  10.                     const hash = sha224('secret');
  11.  
  12.                     if (!user) {
  13.                         return User.create({
  14.                             steamid: profile._json.steamid,
  15.                             name: profile._json.personaname,
  16.                             avatar: profile._json.avatarfull,
  17.                             hash
  18.                         });
  19.                     }
  20.                    
  21.                     user.name = profile._json.personaname;
  22.                     user.avatar = profile._json.avatarfull;
  23.                     user.hash = hash;
  24.                     return user.save();
  25.                 }).then(user => {
  26.                     return done(null, user);
  27.                 }).catch(error => {
  28.                     logger.error(error);
  29.                     return done(error, false, { message:'Authorisation Error! Try again later ...' });
  30.                 });
  31.         }
  32.  
  33.         serializeUser(user, done) {
  34.             done(null, user.id);
  35.         }
  36.  
  37.         deserializeUser(id, done) {
  38.             User.findOne({ where: { id } })
  39.                 .then(user => {
  40.                     if (!user) {
  41.                         return done(null, false, { message:'User not found!' });
  42.                     } else {
  43.                         done(null, user);
  44.                     }
  45.                 }).catch(err => {
  46.                     return done(err, false);
  47.                 });
  48.         }
  49.  
  50.         login(req, res, next) {
  51.             if (req.user) {
  52.                 res.redirect("/");
  53.             } else {
  54.                 next();
  55.             }
  56.         }
  57.  
  58.         logout(req,res) {
  59.             if (!req.user) {
  60.                 res.redirect("/");
  61.             } else {
  62.                 req.logout();
  63.                 res.redirect('/');
  64.             }
  65.         }
  66. }
  67.  
  68. module.exports = new AuthController();
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement