whatsapp-api-tutorial icon indicating copy to clipboard operation
whatsapp-api-tutorial copied to clipboard

cara get data login user

Open abduroza opened this issue 4 years ago • 7 comments

Saya membuat menggunakan mysql, sequelize, handlebars, passport (auth). Saya ingin mengambil data user yang sedang login, namun tidak paham caranya. Data yg ingin saya ambil ada di index.js. kalau di controller tinggal req.user maka data user sudah muncul. Namun jika di index.js saya belum paham. Mohon solusinya ya mas

Berikut script login saya //LOCAL SIGNIN passport.use('local-signin', new LocalStrategy({ // by default, local strategy uses username and password, we will override with email usernameField: 'email', passwordField: 'password', passReqToCallback: true // allows us to pass back the entire request to the callback },

function(req, email, password, done) {
    var isValidPassword = function(userpass, password) {
        return bCrypt.compareSync(password, userpass);
    }

    User.findOne({
        where: {
            email: email
        }
    }).then(function(user) {
        if (!user) {
            return done(null, false, req.flash("signinMessage", 'Email tidak ditemukan'));
        }

        if (!isValidPassword(user.password, password)) {
            return done(null, false, req.flash("signinMessage", 'Password salah'));
        }

        var userinfo = user.get();
        return done(null, userinfo);
    }).catch(function(err) {
        console.log("Error:", err);
        return done(null, false, {
            message: 'Ada yang salah dengan login anda'
        });
    });
}

));

abduroza avatar Nov 05 '21 08:11 abduroza

Bisa disertakan juga contoh kode di controller n index yang dimaksud?

ngekoding avatar Nov 05 '21 23:11 ngekoding

kode di controller async function home(req, res) { req.session.apiToken = req.user.apiToken; console.log('data_user: ', req.user)

await res.render('home');

}

kode di index secara garis besar sama seperti yang di tutorial multiple device. bedanya hanya penyimpanannya saja mas. yang di tutorial simpan di fs, punyaku saya simpan di database

di index gak bisa melakukan req.user, sebagaimana yang ada di controller

abduroza avatar Nov 06 '21 03:11 abduroza

Kerangka dasar aplikasi dan login saya mengikuti github berikut ini. https://github.com/abduroza/node-passport-sequelize

abduroza avatar Nov 06 '21 08:11 abduroza

kode di index secara garis besar sama seperti yang di tutorial multiple device. bedanya hanya penyimpanannya saja mas. yang di tutorial simpan di fs, punyaku saya simpan di database

Bisa disertakan kode yang berkaitan dengan masalah yang sedang ditanyakan saja.

ngekoding avatar Nov 06 '21 11:11 ngekoding

let init = async function(socket){ try { // dibawah ini saya masukkan hard code '1'. Karena belum tau cara ambil data user let getMySessions = await sessionDb.readMySession('1') //user_id masih hard code if(getMySessions.length > 0){ if(socket) socket.emit('init', getMySessions) } else { getMySessions.forEach(sess => { createSession(sess.client_id, sess.description, io) }); } } } catch (err) { return console.log(err) } } init()

abduroza avatar Nov 08 '21 01:11 abduroza

Maaf saya belum sempat untuk ngecek lagi.

ngekoding avatar Nov 09 '21 11:11 ngekoding

bagaimana mas? saya belum nemu juga caranya

abduroza avatar Nov 13 '21 02:11 abduroza