Authencation trong Node JS (Phần 2) - OAuth Gooogle


- Trong phần này mình chỉ tập trung xử lý phía server , ở phía client sẽ áp dụng React trong phần sau



- Trong trường hợp bạn muốn nhờ google xác minh danh tính. (Sign in using Google)



- Chúng ta sẽ gọi đến API của google với react thì mình sẽ dùng AXIOS


- Client nhận được accessToken được tạo ra từ một tài khoản gooogle cụ thể , client sẽ lưu accessToken trong localStorage hoặc cookie
- Khi đã nhận được accessToken trong mỗi req thì accessToken này sẽ được gắn vào trong body 
1) Server nhận được accessToken từ request của client.


2) Server sẽ gọi API của Google để nó giúp xác thực thông tin của người dùng thông qua cái accessToken nếu đúng thì nó trả về thông tin người dùng ( dữ liệu trả về hầu hết dưới dạng JSON có thể là firstname , lastname . age (chỉ những thông tin công khai)) . những thông tin này đều phải do bạn cấp phép thì ứng dụng mới được phép truy cập ((:  . ..Ví dụ rõ ràng nhất là : Nếu bạn chơi Candy thì lúc bạn muốn đăng nhập bằng google nó sẽ hiện lên thông báo Candy cần truy cập những thông tin này của bạn như tên . họ , age ...bla bla bạn accept thì nó mới tiếp tục.

3) Khi đã được API của google trả về dữ liệu user thì server sẽ kiểm tra xem ID của người dùng này có trong database hay chưa ??



 - 1) Tiếp tục phần trên : Nếu ID người dùng chưa có trong db thì nó sẽ dùng các thông tin mà API của Google trả về để tạo một người dùng trong DB , từ người dùng đó tạo ra token và gửi trả về cho client
- 2) Nếu có ID này trong DB rồi thì server sẽ dùng thông tin có user có sẵn để tạo ra token và gửi trả về cho client.


- Cuối cùng khi server gửi trả token (JWT Token) đây là những gì chúng ta đã xử lý ở phần 1 của loạt bài này rồi ((:
- Client sẽ đính kèm JWT trong mỗi request gửi lên.


Tổng quát

Nhận xét

Bài đăng phổ biến