Giới thiệu Social login Springboot OAuth2

Social login Springboot Đăng nhập vào hệ thống bằng mạng xã hội, sử dụng springboot OAuth2. Cái tên nói lên tất cả. Đơn giản thôi. Bạn xây dựng một hệ thống, và muốn sử dụng user của facebook/google làm chính user của mình. Thay vì phải viết thêm chức năng tạo tài khoản, đăng nhập. Vừa rườm ra vừa mất thời gian, nhưng lại tốn công bảo mật không kém. Hơn thế nữa, người dùng ngày càng lười phải thao tác. Nếu thấy đăng ký tài khoản rườm rà là người ta chán dịch vụ của bạn ngay.

Cấu trúc hệ thống

Trong phần Social login Springboot này mình sẽ giới thiệu các bạn hai cách. Mình không biết dùng cụm từ Cấu trúc hệ thống có đúng không nữa ^^.
Trước khi đi vào mô tả mình xin lưu ý một số vấn đề sau đây liên quan đến Social login Springboot.

  • Token: mỗi khi bạn làm việc với các api của facebook/google thì bạn cần dùng nó để facebook/google biết bạn là thằng nào. Thường thì nó sẽ tồn tại trong một khoảng thời gian nào đó. Sau khoảng thời gian đó token này sẽ không còn hiệu lực.
  • System: Chính là backend của bạn

Client Đăng nhập và gửi Token lên System

Vâng, đa số những bạn mình từng đặt câu hỏi thường nghĩ đến cách này đầu tiên. Và Social login Springboot của các bạn ý được tiến hành như sau:
Đầu tiên chúng ta sẽ dùng chính client (mobile/web) gọi đến API facebook để yêu cầu đăng nhập. Sau khi đăng nhập thành công facebook sẽ trả về cho client một đoạn token định danh.

Social login springboot oauth2 - laptrinhvnc.com
Social login springboot oauth2 – laptrinhvnc.com

Client gửi token này cho System, sau đó System thực hiện gọi một API của facebook để xác minh xem token mà nó nhận được từ client có hợp lệ hay không.
Nếu hợp lệ, system tiến hành lấy các thông tin của user từ facebook và lưu vào hệ thống. Sau đó System random ra một đoạn token riêng khác và gửi cho client. Sau đó client và System sẽ dùng token mới vừa tạo ra để giao tiếp với nhau. Tuy nhiên do lười nhác, một số bạn đã dùng chính token facebook để làm token giao tiếp. Điều này để lại một số rắc rối về sau….. rắc rối thế nào thì về sau mình mới viết =]]

Social login Springboot Chính thống ^^

Nói là chính thống, nhưng trên quan điểm cá nhân. Bạn có thể khác tôi, nên thôi thì lỡ đọc rồi thì tham khảo vậy. Có gì không phải thì chúng ta xuống phần comment chửi sml thằng viết bài. Mọi chuyện là chuyện nhỏ, chỉ có lấy vợ nhỏ mới là chuyện lớn, bác Dương nói vậy mà ^^

Ok vậy Social login Springboot OAuth2 được thực hiện như thế nào?
Tất nhiên muốn biết thế nào thì xem phần 2 đi chớ. Cào phím mỏi tay lắm các bạn ạ, gõ code còn sướng hơn. Hẹn gặp lại các bạn ở phần 2

 

Có những thứ không liên quan đến lập trình những tôi vẫn phải ghi vào …. đơn giản vì tôi thích …. hahaha. Đọc dòng này thật chán nhỉ, vậy thì click link này nếu bạn thích trẻ em

 

 

Leave a Reply