NodeJS API - Auth
Schema
Buat schema baru dengan nama User.js di dalam folder models
// (1) Buat Schema User
const mongoose = require('mongoose')
const UserSchema = mongoose.Schema({
// Schema data
nama: {
type: String,
required: true,
max: 45
},
email: {
type: String,
required: true,
max: 45
},
password: {
type: String,
required: true,
min: 6,
max: 255
},
createdAt: {
type: Date,
default: Date.now
}
})
module.exports = mongoose.model('User', UserSchema)Instal Package
Instal package @hapi/joi bcryptjs jsonwebtoken
@hapi/joi sebagai validator data, misalnya email wajib diisi, password minimal 6 karakter
bcryptjs merupakan password-hashing function digunakan untuk enkripsi data Contoh: input password 123456 setelah dilakukan hashing menjadi $2a$10$TfsU4ldw4cFwbARdOBwvCOGSEJ6qFelg6L3rAVCcqqrH0QqzSmwXW
jsonwebtoken digunakan sebagai sistem otentikasi. Ketika kita login ke server melalui API, server akan memberikan response berupa token, lalu token ini kita gunakan untuk mengakses API lainnya yang bisa akses menggunakan token tersebut.
Validator
Buat folder baru dengan nama config, lalu buat file baru dengan nama validation.js
Routes
Buat file baru dengan nama auth.js di dalam folder routes
Modifikasi File .env
Tambahkan SECRET_KEY pada file .env. SECRET_KEY ini digunakan pada proses membuat token pada auth.js
Last updated
Was this helpful?