Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- //Promisse para autentificação
- //Guarda o Tempo da Execução para fazer comparações
- var d = new Date();
- let DadosNovos = {};
- let logado = false;
- //Obj com os dados do Usuario Imagine que isso fosse o banco de dados
- let dados = {
- id:1,
- username:"Wil",
- password:"MTIzNDU2Nzh3", //Senha 55dc878770232b67641db0
- nivel: "Administrador",
- nome:"Wilclefison Marques Lima"
- };
- //Criptografa a senha.
- let encrypt = (enc) =>{
- enc = Buffer.from(enc).toString('base64');
- return enc;
- }
- //Checar obj vazio
- function isEmptyObject(obj) {
- for (var key in obj) {
- if (Object.prototype.hasOwnProperty.call(obj, key)) {
- return false;
- }
- }
- return true;
- }
- //Verificar se o usuario está online
- let checkUsuario = () =>{
- if(isEmptyObject(DadosNovos)){
- console.log('Dados Vazios Usuario Não Logando \n' + ((logado == true) ? 'true' : 'false'));
- }else{
- console.log('Id: '+DadosNovos.id+' Nivel: '+DadosNovos.nivel);
- }
- }
- //Promisse de login, uma função que é uma promiise para verificar os dados do usuario se forem verdadeiros eles devolvem o token.
- let login = (username, password) => new Promise((resolve, reject) =>{
- (username == 'Wil' && password == encrypt("12345678w") ) ?
- resolve(token = encrypt(`d.getDate()`))
- : reject ('Usuario Invalido');
- });
- //promisse para pegar os dados do usuario
- let dados_user = (token) => new Promise((resolve,rejeitar) =>{
- if (token == encrypt(`d.getDate()`)){
- resolve(dados);
- }else{
- rejeitar('Sorry');
- }
- });
- //Faz a autentificação do usuario e devolve o TOKEN se tudo foi de acordo na promisse
- let AuthUser = (data) => {
- return login(data.username, data.password).then(
- token => { return token},
- console.log('Usuario: '+data.username+' esta tentando realizar o login'))
- .catch((error)=>{
- return ('Falha ao autentificar, '+error)
- })
- }
- //Variavel de para chamhar o token do usuario
- let userToken = AuthUser(dados);
- userToken.then(function(result){
- if (result == encrypt(`d.getDate()`)){
- dados_user(result).then((resultado) =>{
- DadosNovos = resultado;
- console.log('Usuario '+DadosNovos.nome+' fez login');
- logado = true;
- //Chama a Função para checkar se o usuario esta online
- checkUsuario();
- console.log('Token da Sessão:'+ result)
- })
- }
- });
- //Chama a Função para checkar se o usuario esta online
- checkUsuario();
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement