Hướng dẫn jwt javascript - jwt javascript
Với bài viết này, mình sẽ hướng dẫn các bạn thông qua 5 bước để chúng ta tích hợp xác thực JWT vào project của chúng ta. Ở bài viết này mình không đi sâu vào tìm hiểu lý thuyết, các bạn có thể tìm hiểu lý thuyết ở đây https://viblo.asia/p/tim-hieu-ve-json-web-token-jwt-7rVRqp73v4bP Mình sẽ tập trung vào practice. Let's go! Trước khi thực hiện xác thực JWT phải cài đặt một số package. Show Prerequisite
Tools
Steps1. Cài đặt "jsonwebtoken" packagejsonwebtoken là package của Node phát triển dựa trên 2. Tạo user modelTrong folder api/models folder, tạo một file 0. Nhưng các bạn đã biết, MongoDB cho phép chúng ta tạo một schema và là nơi chúng ta có thể tạo documents. Chúng ta sẽ sử dụng nó để tạo user trực tiếp trong User document. Trong bài viết này chúng ta sử dụng package 1 của nodejs để tạo schema với các thuộc tính như sau:
3. Tạo phương thức cho user (sign in, register and yêu cầu login)Trong thư mục api/controllers tạo file 2 Trong file 3 chúng ta tạo export 3 thương thức khác nhau
Trong phương thức đăng kí, chúng ta tạo instance user model với User Schema và lưu trong MongoDB
Trong phương thức sign_in chúng ta thực hiện việc hoạt động login. Đầu tiên, chúng ta kiểm tra user đó có tồn tại trong database hay không thông qua email(primary). Nếu có chúng ta kiểm tra password mới phương thức 4 trong user model user. Nếu thành công response json với tham số email, fullName, id (những tham số này đã được mã hóa khi truyền đến clients). Nếu không match thì response trả lỗi về client
Trong phương thúc 5 middleware kiểm tra user đã login hay là chưa. Phương thức này sẽ chạy đầu tiên thành công 6 sẽ chuyển hướng đến các hoạt động tiếp theo
4. Tạo user routesTrong folder api/routes tạo file 7. Đây là router cho user register, signup vào sign in để trong cập trên ứng dụng web của chúng ta
5. Updating server.js fileChúng ta tạo file 8. File này chúng ta tạo instanse User và thiết lập middleware cho express server để check trạng thái của user.
Sau đó chúng ta tạo middleware cho express, phải chắc chắn rằng middleware này chạy đầu tiên
Như vậy chúng ta đã tạo server, model, controller đã xong. Bây giờ chúng ta init server và kết hợp với postman để test API chúng ta viết ra
Đây là những thứ tự hình ảnh mà chúng ta test với postman Tổng kếtNhư vậy chúng ta qua 5 bước đơn giản chúng ta đã thiết lập được server xác thực với JWT. Đây là source code trên github Github. Chúc các bạn thành công |