Advertisement
Guest User

Auth.js

a guest
Jul 23rd, 2018
153
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. //Promisse para autentificação
  2.  
  3. //Guarda o Tempo da Execução para fazer comparações
  4. var d = new Date();
  5. let DadosNovos = {};
  6. let logado = false;
  7.  
  8. //Obj com os dados do Usuario Imagine que isso fosse o banco de dados
  9. let dados = {
  10.     id:1,
  11.     username:"Wil",
  12.     password:"MTIzNDU2Nzh3", //Senha 55dc878770232b67641db0
  13.     nivel: "Administrador",
  14.     nome:"Wilclefison Marques Lima"
  15. };
  16.  
  17. //Criptografa a senha.
  18. let encrypt = (enc) =>{
  19.     enc = Buffer.from(enc).toString('base64');
  20.     return enc;
  21. }
  22.  
  23. //Checar obj vazio
  24. function isEmptyObject(obj) {
  25.     for (var key in obj) {
  26.       if (Object.prototype.hasOwnProperty.call(obj, key)) {
  27.         return false;
  28.       }
  29.     }
  30.     return true;
  31.   }
  32.  
  33. //Verificar se o usuario está online
  34. let checkUsuario = () =>{
  35.     if(isEmptyObject(DadosNovos)){
  36.         console.log('Dados Vazios Usuario Não Logando \n' + ((logado == true) ? 'true' : 'false'));
  37.     }else{
  38.          console.log('Id: '+DadosNovos.id+' Nivel: '+DadosNovos.nivel);
  39.     }
  40. }
  41.  
  42.  
  43. //Promisse de login, uma função que é uma promiise para verificar os dados do usuario se forem verdadeiros eles devolvem o token.
  44. let login = (username, password) => new Promise((resolve, reject) =>{
  45.     (username == 'Wil' && password == encrypt("12345678w") ) ?
  46.     resolve(token = encrypt(`d.getDate()`))
  47.     : reject ('Usuario Invalido');
  48. });
  49.  
  50. //promisse para pegar os dados do usuario
  51. let dados_user = (token) => new Promise((resolve,rejeitar) =>{
  52.     if (token == encrypt(`d.getDate()`)){
  53.         resolve(dados);
  54.     }else{
  55.         rejeitar('Sorry');
  56.     }
  57. });
  58.  
  59. //Faz a autentificação do usuario e devolve o TOKEN se tudo foi de acordo na promisse
  60. let AuthUser = (data) => {
  61.  return login(data.username, data.password).then(
  62.      token => { return token},
  63.      console.log('Usuario: '+data.username+' esta tentando realizar o login'))
  64.      .catch((error)=>{
  65.      return ('Falha ao autentificar, '+error)
  66.     })
  67. }
  68.  
  69.  
  70. //Variavel de para chamhar o token do usuario
  71. let userToken = AuthUser(dados);
  72.  
  73. userToken.then(function(result){
  74.     if (result == encrypt(`d.getDate()`)){
  75.         dados_user(result).then((resultado) =>{
  76.             DadosNovos = resultado;
  77.             console.log('Usuario '+DadosNovos.nome+' fez login');
  78.             logado = true;
  79.             //Chama a Função para checkar se o usuario esta online
  80.             checkUsuario();
  81.             console.log('Token da Sessão:'+ result)
  82.         })
  83.     }
  84. });
  85.  
  86.  
  87. //Chama a Função para checkar se o usuario esta online
  88. checkUsuario();
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement