Authentication use Passport and Jwt in Nodejs ( Phần 2 )

 


Hi! Lại là mình đây, hôm nay mình tiếp tục cùng các bạn tìm hiểu về xác thực trong nodejs nhé!

Link phần 1, các bạn có thể vào xem qua để hiểu rõ hơn trước khi đọc phần 2 nhé: 

Như ở phần trước mình đã cùng các bạn tạo một user rồi. Giờ sẽ là kịch bản khi user login. ( sử dụng passport, jwt)

Kịch bản:

1. Đầu tiên người dùng sẽ submit form đăng nhập, một request POST được tạo ra với route api/sigin. Nó sẽ chạy cái middleware passport.authenticate.

2. Mình sẽ thiết lập kịch bản local cho thằng passport.authenticate nên nó sẽ gọi đến cái kịch bản đã cài đặt.

3. Kịch bản mà ta cài đặt, nó sẽ lấy email, password mà user submit lên để xử lý. Nó sẽ kiểm tra xem user đó có tồn tại hay không. Nếu không tồn tại nó sẽ gọi đến callback done(null, false) ( bạn có thể thêm thông báo bằng cách thêm info, done(null, false, info) ). Còn nếu đăng nhập thành công thì trả ra callback done(null, user).

4. Sau khi qua kịch bản local passport thì thằng passport.authenticate nếu có user sẽ tiến hành sinh token cho user và trả về cho người dùng.

Ok. kịch bản là như vậy, xắn tay lên code thôi.

Thiết lập kịch bản local passport.


Hàm xử lý 


Khá dễ hiểu đúng không các bạn.
Mình dùng postman test luôn nhé.


Sau khi đăng nhập thành công, mình sẽ trả về thông tin user và token của user đó.

Code mình để trên đây, các bạn kéo về chạy sẽ hiểu tổng quát hơn nhé.


Passport còn thể dễ dàng làm với những kịch bản như đăng nhập bằng Facebook, Twitter, Google,... 

Cảm ơn mọi người đã đọc bài viết của mình nhé, mọi người cùng góp ý, trao đổi để cùng tiến bộ nhé. 

Tài liệu tham khảo:




Previous Post
Next Post

post written by:

0 Comment: