Solucionado (ver solução)
Solucionado
(ver solução)
2
respostas

Como extrair token da função javascript

var jwt = require('jsonwebtoken');


const authentic  = (deps) => {
    return {
        authPass :(email, password)=>{
            const {conx} = deps
            return new Promise((resolve, reject)=>{
                conx.query('SELECT id, email FROM user WHERE email = ? AND password = ?' , [ email, password], (err , result)=>{
                    if(err){
                        reject(err)
                    }

                    token = passToken(result) // 2) RECEBO PARAMETRO PARA GERAR TOKEN

                    resolve({result: result , token : token})

                })
            })
        }
    }
}

var token = {}; // VAR GLOBAL TOKEN 

function passToken(result){ // 1) FUNÇÃO QUE GERA O TOKEN
    const {id , email} = result[0];
    var token = jwt.sign({id , email} , 'teste' , {expiresIn: 60 * 60});
    return token;
}

passToken(result) // 3) A FUNÇÃO EXIGE QUE PASSE PARAMETRO ' result 'MAS O MESMO NÃO É 'DEFINIDO' COMO POSSO ESTRAIR O TOKEN DESSA FUNÇÃO SEM PRECISAR CHAMA-LA.

module.exports = authentic;
module.exports.token = token;
2 respostas

var jwt = require('jsonwebtoken');

const authentic = (deps) => { return { authPass :(email, password)=>{ const {conx} = deps return new Promise((resolve, reject)=>{ conx.query('SELECT id, email FROM user WHERE email = ? AND password = ?' , [ email, password], (err , result)=>{ if(err){ reject(err) }

                token = passToken(result) // 2) RECEBO PARAMETRO PARA GERAR TOKEN

                resolve({result: result , token : token})

            })
        })
    }
}

}

var token = {}; // VAR GLOBAL TOKEN

function passToken(result){ // 1) FUNÇÃO QUE GERA O TOKEN const {id , email} = result[0]; var token = jwt.sign({id , email} , 'teste' , {expiresIn: 60 * 60}); return token; }

passToken(result) // 3) A FUNÇÃO EXIGE QUE PASSE PARAMETRO ' result 'MAS O MESMO NÃO É 'DEFINIDO' COMO POSSO ESTRAIR O TOKEN DESSA FUNÇÃO SEM PRECISAR CHAMA-LA.

module.exports = authentic; module.exports.token = token;

solução!

Preciso salvar este token em uma variavel para poder exportar ou há uma outra forma que eu possa exportar esse token?