Node.js + TypeScript + MongoDB: JWT Authentication - Xác thực người dùng sử dụng JWT (Phần 3- Kết thúc)

 


Chào mừng các bạn đã quay trở lại với Inovation Thinking, tiếp nối 2 phần trước về việc xác thực người dùng sử dụng JWT, đây là phần 3 cũng là phần cuối cùng của series này.Mọi người có thể xem lại.
Phần 1: Tại đây
Phần 2: Tại đây

Okay, chúng ta quay lại bài viết

Kiếm tra JWT Authentication Rest API

Chạy lệnh này để khởi động mongo và redis container

docker-compose up -d

Tiếp theo chúng ta khởi động server


Register users

Đăng ký user với route sau http://localhost:8000/api/auth/register 


Sau khi đăng ký thành công sử dụng ứng dụng mongoCompass để truy cập và kiểm tra dữ liệu



Login User
Sau khi tạo user ở bước trên tiếp theo chúng ta sẽ login và kiểm tra

Ngoài kết quả được trả về ở body, accessToken cũng được trả về ở Cookies

Bây giờ chúng ta sẽ kiểm tra thông tin của user đang được lưu ở redis


Nếu nhìn kỹ hình trên bạn sẽ thấy thời gian của bản ghi còn 44 phút, tức là sau 44 phút bản ghi sẽ bị xóa, đây cũng là thời gian còn hiệu lực của access-token

Lấy thông tin hiện tại của người dùng đang login
Sau khi đăng nhập, hãy sao chép access-token và thêm vào header để có thể sử dụng được api /api/users/me

Admin Get All Users
Quay lại mongoCompas và truy cập vào collection user chọn 1 user bất kỳ đổi role thành admin, như tôi đang đổi user inovationthinking@gmail.com thành admin.Sau đó sử dụng api /api/users để get danh sách user



Tổng Kết
Vậy là tôi và các bạn đã đi qua hết loạt bài xác thực với người dùng sử dụng jwt trong nodejs.Hi vọng mọi người có thêm kiến thức để làm việc trong tương lai.Nếu có bất kỳ câu hỏi nào có thể comment xuống dưới để tôi có thể xem và hỗ trợ nhé.
Link tải source code

Nhận xét

Bài đăng phổ biến từ blog này

Cài đặt SSL cho website sử dụng certbot

Xây dựng một hệ thống comment real-time hoặc chat đơn giản sử dụng Pusher

CÁC BÀI TẬP SQL CƠ BẢN - PART 1

Xây dựng một hệ thống tracking hành vi người dùng (phần 1)

Xây dựng một hệ thống tracking hành vi người dùng (phần 2)

Enterprise architecture trên 1 tờ A4

Web caching (P2)

Bàn về async/await trong vòng lặp javascript

Web caching (P1)

Cài đặt môi trường để code website Rails