Sử dụng Postman authorization

Postman authorization

Để người dùng truy cập một cách an toàn thì các APIs đều có các tính năng ủy quyền, sẽ cho phép một cá nhân sử dụng hệ thống và dữ liệu lưu trữ trên hệ thống đó. Các ủy quyền này được cấp và quản lý tùy thuộc vào mỗi hệ thống. Truy cập một số APIs với Postman cần có các thông số này vậy cần tích hợp như thế nào?

Postman cung cấp các yêu cầu ủy quyền sẵn có mà người dùng có thể sử dụng (tùy thuộc vào từng hệ thống yêu cầu) các authorization này sẽ được thêm vào Headers hay Body của request :

  • Inheriting auth
  • No auth
  • API key
  • Bearer token
  • Basic auth
  • Digest auth
  • OAuth 1.0
  • OAuth 2.0
  • Hawk authentication
  • AWS Signature
  • NLTM authentication
  • Akamai EdgeGrid

Ví dụ mình sẽ thực hành với API: https://api.github.com/user/repos của github với một số cách xác thực ủy quyền trên:

Đầu tiên thì cần có "giấy ủy quyền" cái này có thể đăng ký ở nhiều chỗ khác nhau tùy thuộc yêu cầu của bạn.

  • Đăng ký bằng username và password
  • Đăng ký token: Personal access tokens - token bạn đã tạo có thể được sử dụng để truy cập API GitHub.
  • Đăng ký oauth app: OAuth Apps - Đây là những ứng dụng bạn đã đăng ký để sử dụng API GitHub.
  • ...

Sử dụng với API key

Cách sử dụng này rất giống với cách thêm key 'Authorization' trên Headers (giống quá vì nó là một mà). Nhưng ở đây thì có thể thêm nó vào Query Params. Mình đã dùng Authorization với value là: Bearer <Personal access tokens>

Sử dụng với Bearer token

🤣 Như cái trên thôi nhưng ở đây không cần thêm Bearer ở trước nữa vì đã chọn loại authorization là Bearer token rồi:

Sử dụng với Basic auth

Cách này thì đúng là Basic rồi 😜 chỉ cần đăng nhập với bằng username và password, hầu hết các APIs đều có thể sử dụng cách này 👍 nhưng với điều kiện là bạn không bật xác thực bảo mật 2 yếu tố (two-factor authentication) cho tài khoản của mình hay bất cứ thứ gì tương tự thế. Nó chỉ tương tự với trang login với username và password thôi không hơn!!

Nhưng tôi vẫn muốn đăng nhập với Basic authXác thực 2 yếu tố thì làm như thế nào? Đơn giản bạn chỉ cần gửi thêm mã xác thực 2 lớp theo trên Header thôi: X-GitHub-OTP: ******

Sử dụng với OAuth 2.0

Cách này thì cần có OAuth App được đăng ký trước với Client IDClient Secret, và ngoài ra bạn cần có Callback url (tự đăng ký trên oauth), Auth URL, Access Token URL (2 cái này do hệ thống cung cấp) ví dụ:

Tổng kết

Còn một số cách nữa mình vẫn chưa có thử qua 😋 mong nhận được gợi ý từ mọi người. Cảm ơn mọi người đã đọc bài viết của mình 💮💮💮