Nội dung bài học

✅ So sánh Authentication và Authorization
✅ Viết test case với method DELETE và PUT
✅ Sử dụng API Authorization
✅ Auto check status với Postman

✅ So sánh Authentication và Authorization

Xác thực (Authentication)

  • Định nghĩa: Xác thực là quá trình xác minh danh tính của người dùng hoặc thiết bị. Nó trả lời cho câu hỏi "Bạn là ai?"
  • Mục đích: Để đảm bảo rằng người dùng hoặc thiết bị là đúng như những gì họ tuyên bố.
  • Phương pháp:
    • Tên người dùng và mật khẩu
    • Xác thực đa yếu tố (MFA)
    • Dấu vân tay, nhận diện khuôn mặt
    • Chứng chỉ số
  • Ví dụ:
    • Nhập tên người dùng và mật khẩu để đăng nhập vào tài khoản email.
    • Sử dụng dấu vân tay để mở khóa điện thoại thông minh.


Ủy quyền (Authorization)

  • Định nghĩa: Ủy quyền là quá trình xác định những gì người dùng hoặc thiết bị được phép làm sau khi đã được xác thực. Nó trả lời cho câu hỏi "Bạn được phép làm gì?"
  • Mục đích: Để kiểm soát quyền truy cập vào tài nguyên và chức năng.
  • Phương pháp:
    • Kiểm soát truy cập dựa trên vai trò (RBAC)
    • Kiểm soát truy cập dựa trên thuộc tính (ABAC)
    • Danh sách kiểm soát truy cập (ACL)
  • Ví dụ:
    • Sau khi đăng nhập vào tài khoản ngân hàng trực tuyến, bạn chỉ được phép xem số dư tài khoản và thực hiện giao dịch chuyển tiền nếu bạn có quyền đó.
    • Một quản trị viên hệ thống có quyền truy cập vào tất cả các tệp và thư mục trên máy chủ, trong khi một người dùng thông thường chỉ có quyền truy cập vào một số tệp nhất định.


Điểm khác biệt chính

  • Xác thực xác minh danh tính, trong khi ủy quyền xác định quyền truy cập.
  • Xác thực diễn ra trước ủy quyền.
  • Xác thực là bước đầu tiên để đảm bảo rằng người dùng đúng là người mà họ nói là, ủy quyền là bước tiếp theo để xác định những gì người dùng được phép làm sau khi họ đã được xác thực.


Tóm lại

  • Xác thực là việc xác nhận bạn là ai.
  • Ủy quyền là việc xác nhận bạn được phép làm gì.

 

✅ So sánh Access Token và Session


Access token (mã thông báo truy cập) và session (phiên làm việc) đều là các cơ chế xác thực và quản lý trạng thái được sử dụng trong các ứng dụng web và API, nhưng chúng có những điểm khác biệt quan trọng:

Access Token:

  • Định nghĩa:
    • Là một chuỗi mã được cấp cho một ứng dụng hoặc người dùng sau khi họ đã xác thực thành công.
    • Được sử dụng để cho phép truy cập vào các tài nguyên cụ thể trong một khoảng thời gian giới hạn.
    • Thường được sử dụng trong các API để cho phép các ứng dụng bên thứ ba truy cập vào dữ liệu của người dùng.
  • Đặc điểm:
    • Thời gian sống ngắn: Access token thường có thời gian hết hạn ngắn (ví dụ: vài phút hoặc vài giờ) để tăng cường bảo mật.
    • Không lưu trữ trạng thái: Access token không lưu trữ trạng thái của người dùng trên máy chủ.
    • Sử dụng trong API: Thường được sử dụng trong các API để xác thực yêu cầu từ các ứng dụng client.
    • Bảo mật: Thường được sử dụng kết hợp với các giao thức như OAuth 2.0 để đảm bảo an toàn.
  • Ví dụ: Khi bạn sử dụng một ứng dụng di động để truy cập vào tài khoản mạng xã hội của mình, ứng dụng sẽ sử dụng access token để truy cập vào dữ liệu của bạn từ API của mạng xã hội đó.


Session:

  • Định nghĩa:
    • Là một cơ chế để lưu trữ thông tin về người dùng trên máy chủ trong suốt quá trình người dùng tương tác với ứng dụng.
    • Được sử dụng để duy trì trạng thái của người dùng (ví dụ: trạng thái đăng nhập, giỏ hàng, v.v.).
  • Đặc điểm:
    • Lưu trữ trạng thái: Session lưu trữ trạng thái của người dùng trên máy chủ.
    • Thời gian sống dài hơn: Session thường có thời gian sống dài hơn access token (ví dụ: cho đến khi người dùng đăng xuất hoặc đóng trình duyệt).
    • Sử dụng trong ứng dụng web: Thường được sử dụng trong các ứng dụng web để duy trì trạng thái người dùng giữa các yêu cầu.
    • Cookies: Session thường được triển khai bằng cách sử dụng cookies để lưu trữ ID phiên trên trình duyệt của người dùng.
  • Ví dụ: Khi bạn đăng nhập vào một trang web mua sắm, trang web sẽ tạo một session để lưu trữ thông tin về trạng thái đăng nhập và giỏ hàng của bạn.


Tóm lại:

  • Access token được sử dụng để cho phép truy cập vào các tài nguyên cụ thể trong một khoảng thời gian giới hạn, thường được sử dụng trong các API.
  • Session được sử dụng để lưu trữ thông tin về người dùng trên máy chủ trong suốt quá trình người dùng tương tác với ứng dụng, thường được sử dụng trong các ứng dụng web.

Cộng đồng Automation Testing Việt Nam

🌱 Facebook Fanpage: Anh Tester
🌱 Telegram
Automation Testing:   Cộng đồng Automation Testing
🌱 
Facebook Group Automation: Cộng đồng Automation Testing Việt Nam
🌱 Telegram
Manual Testing:   Cộng đồng Manual Testing
🌱 
Facebook Group Manual: Cộng đồng Manual Testing Việt Nam

  • Anh Tester

    Đường dẫu khó chân vẫn cần bước đi
    Đời dẫu khổ tâm vẫn cần nghĩ thấu


Cộng đồng Automation Testing Việt Nam:

🌱 Telegram Automation Testing:   Cộng đồng Automation Testing
🌱 
Facebook Group Automation: Cộng đồng Automation Testing Việt Nam
🌱 
Facebook Fanpage: Cộng đồng Automation Testing Việt Nam - Selenium
🌱 Telegram
Manual Testing:   Cộng đồng Manual Testing
🌱 
Facebook Group Manual: Cộng đồng Manual Testing Việt Nam

Chia sẻ kiến thức lên trang

Bạn có thể đăng bài để chia sẻ kiến thức, bài viết của chính bạn lên trang Anh Tester Blog

Danh sách bài học