Skip to content

Instantly share code, notes, and snippets.

@disaada
Last active September 20, 2020 04:43
Show Gist options
  • Select an option

  • Save disaada/d42aeda7e4c52b8bb1d1e7b9997a7833 to your computer and use it in GitHub Desktop.

Select an option

Save disaada/d42aeda7e4c52b8bb1d1e7b9997a7833 to your computer and use it in GitHub Desktop.

Revisions

  1. disaada revised this gist Sep 20, 2020. 1 changed file with 2 additions and 2 deletions.
    4 changes: 2 additions & 2 deletions index.js
    Original file line number Diff line number Diff line change
    @@ -6,9 +6,9 @@ app.post('/signin', (req, res) => {
    .then((data) => {
    /* data dari db didapat, bandingkan password yg diinput dengan yg ada di db */
    if (data && (bcrypt.compareSync(password, data.password))) {
    /* buat token menggunakan jwt.sign(data, 'secretkey', waktu_expired) */
    /* buat token menggunakan jwt.sign(data, 'secretkey', waktu_expired) */
    const token = jwt.sign({ data }, 'secret', { expiresIn: '1h' })
    /* mengirimkan respon ke client berupa pesan */
    /* mengirimkan respon ke client berupa pesan */
    res.json({ data, token, message: 'signin success!' })
    } /* kalau perbandingan password tidak cocok, kirim pesan peringatan */
    else res.json({ message: 'invalid email or password!' })
  2. disaada revised this gist Sep 20, 2020. 1 changed file with 5 additions and 18 deletions.
    23 changes: 5 additions & 18 deletions index.js
    Original file line number Diff line number Diff line change
    @@ -1,32 +1,19 @@
    app.post('/signin', (req, res) => {
    /*
    * step 1 : mengambil data email dan password
    * yang telah diisi oleh user
    */
    /* step 1 : mengambil data email dan password yang telah diisi oleh user */
    const { email, password } = req.body

    /*
    * step 2 : mengambil data user di db
    * berdasarkan email yang dimasukkan user
    * (akses ke db menggunakan ORM Sequelize)
    * mulai script Sequelize
    */
    /* step 2 : mengambil data user di db berdasarkan email yang dimasukkan user */
    Model.user.findOne({ where: { email } })
    .then((data) => {
    /*
    * data dari db didapat, bandingkan password yg diinput
    * dengan yg ada di db ( menggunakan bycrypt.compareSync() )
    */
    /* data dari db didapat, bandingkan password yg diinput dengan yg ada di db */
    if (data && (bcrypt.compareSync(password, data.password))) {
    /* buat token menggunakan jwt.sign(data, 'secretkey', waktu_expired) */
    /* buat token menggunakan jwt.sign(data, 'secretkey', waktu_expired) */
    const token = jwt.sign({ data }, 'secret', { expiresIn: '1h' })
    /* mengirimkan respon ke client berupa pesan */
    /* mengirimkan respon ke client berupa pesan */
    res.json({ data, token, message: 'signin success!' })
    } /* kalau perbandingan password tidak cocok, kirim pesan peringatan */
    else res.json({ message: 'invalid email or password!' })
    })
    .catch((e) => {
    res.json(e)
    })
    /* akhir script Sequelize */
    })
  3. disaada created this gist Sep 20, 2020.
    32 changes: 32 additions & 0 deletions index.js
    Original file line number Diff line number Diff line change
    @@ -0,0 +1,32 @@
    app.post('/signin', (req, res) => {
    /*
    * step 1 : mengambil data email dan password
    * yang telah diisi oleh user
    */
    const { email, password } = req.body

    /*
    * step 2 : mengambil data user di db
    * berdasarkan email yang dimasukkan user
    * (akses ke db menggunakan ORM Sequelize)
    * mulai script Sequelize
    */
    Model.user.findOne({ where: { email } })
    .then((data) => {
    /*
    * data dari db didapat, bandingkan password yg diinput
    * dengan yg ada di db ( menggunakan bycrypt.compareSync() )
    */
    if (data && (bcrypt.compareSync(password, data.password))) {
    /* buat token menggunakan jwt.sign(data, 'secretkey', waktu_expired) */
    const token = jwt.sign({ data }, 'secret', { expiresIn: '1h' })
    /* mengirimkan respon ke client berupa pesan */
    res.json({ data, token, message: 'signin success!' })
    } /* kalau perbandingan password tidak cocok, kirim pesan peringatan */
    else res.json({ message: 'invalid email or password!' })
    })
    .catch((e) => {
    res.json(e)
    })
    /* akhir script Sequelize */
    })