Tìm hiểu về khái niệm xác thực người dùng Authentication.

Chắc hẳn khi bắt tay vào làm 1 ứng dụng thì việc đầu tiên mình cần xử lý khi hoàn thành UI đó chính là handle phần sign up/sign in/logout/ confirm password/ forgot password hay còn gọi là handle Authentication ạ. Để hiểu rõ hơn khái niệm Authentication, mình xin chia sẻ một số kiến

Chắc hẳn khi bắt tay vào làm 1 ứng dụng thì việc đầu tiên mình cần xử lý khi hoàn thành UI đó chính là handle phần sign up/sign in/logout/ confirm password/ forgot password hay còn gọi là handle Authentication ạ. Để hiểu rõ hơn khái niệm Authentication, mình xin chia sẻ một số kiến thức của bản thân ạ.
Bất kì ứng dụng nào thì việc bảo vệ dữ liệu của người dùng rất quan trọng. Chính vì việc đó việc xác thực người dùng (Authentication) ra đời.

Việc xác thực người dùng diễn ra như thế nào ?

Có 2 giải pháp tốt nhất được biết đến cho vấn đề xác thực này là:

  • Dùng OAuth : Tức là authentication bằng cách trang mạng xã hội facebook/google/…
  • Dùng JSON Web Token (JWTs) : Tức là call api để xác thực:
    • Nếu BE viết api thì toàn bộ xử lý backend sẽ handle cho mình việc của mình chỉ cần call API .
    • Dùng các API của dịch vụ bên thứ 3 để xử lý :cognitor,…

Từ lúc user click nút đăng kí sẽ xảy ra điều gì ?

Phân biệt Authentication vs. Authorization:

Nhiều bạn có thể nhầm lẫn giữa 2 khái niệm này, nó cũng hơi giống nhau và cũng khác nhau như cách phát âm của nó vậy đó 😄

Authentication
Dùng để xác định bạn có phải là user của hệ thống không?

  • Bạn là ai?
  • Diễn ra trước khi Authorization
  • Trả về lỗi 401
  • Dùng password, OPT, PIN,….
  • Ví dụ: Bạn muốn vào công ty, Authentication cần biết bạn phải là nhân viên của công ty đó mới được vô công ty.

Authorization
Nếu đã là user của hệ thống, vậy bạn có những quyền gì trên hệ thống?
Một trong những cách phổ biến nhất hiện nay là sử dụng JWT (JSON Web Token).

  • Bạn có những quyền gì ?
  • Diễn ra sau khi authentication thành công.
  • Trả về lỗi 403
  • Ví dụ: Khi bạn đã vô được công ty rồi, nhưng mỗi công ty đều có phòng ban khác nhau. Bạn là nhân kế toán sẽ ko vô được phòng server bảo mật công ty. Dù bạn đã được xác nhận là nhân viên công ty nhưng quyền của bạn chỉ làm những việc gì….

Kết

Mong rằng bài viết của mình giúp các bạn hiểu thêm một phần nào đó về khái niệm Authentication. Nếu bài viết mình có gì sai sót comment mình phía dưới để mình có thể sửa chữa lỗi lầm của mình. Cảm ơn các bạn. Hẹn gặp lại các bạn trong các bài viết tiếp theo nhé ! ❤️

Nguồn: viblo.asia

Bài viết liên quan

9 Mẹo lập trình Web “ẩn mình” giúp tiết kiệm hàng giờ đồng hồ

Hầu hết các lập trình viên (kể cả những người giỏi) đều tốn thời gian x

Can GPT-4o Generate Images? All You Need to Know about GPT-4o-image

OpenAI‘s GPT-4o, introduced on March 25, 2025, has revolutionized the way we create visual con

Khi nào nên dùng main, section, article, header, footer, và aside trong HTML5

HTML5 đã giới thiệu các thẻ ngữ nghĩa giúp cấu trúc nội dung web một cách có

So sánh Webhook và API: Khi nào nên sử dụng?

Trong lĩnh vực công nghệ thông tin và phát triển phần mềm, Webhook và API là hai th