- vừa được xem lúc

[Postman] Set access token xịn như ông senior

0 0 21

Người đăng: Nguyễn Kỳ Thịnh

Theo Viblo Asia

1. Đặt vấn đề:

  • Trong vòng 3 năm gần đây mình làm 4 dự án. Cả bốn dư án đều dùng jwt token để xác thực. Có thể thấy jwt token thực sự phổ biến. Hôm nay mình viết cái mini blog mong muốn chia sẽ tí kinh nghiệm về cách config postman với jwt token để anh em làm việc chuyên nghiệp và hiệu quả hơn.
  • Flow xác thực bằng jwt token phía client:
    1. Post API login
    2. Nhận token
    3. Lưu token ở client
    4. Tất cả các API có auth -> set header Authcation = Bearer + token
  • Bạn là một BE developer hoăc tester.
  • Bạn muốn test API thì bạn phải thực hiện qui trình trên -> Open postman and try 😆😆

2. Thực hiện bằng cơm:

  • Viết api login

  • Nhận được token như này

  • Sau đó Ctrl + C

  • Ctrl + V vào header Authcation của API muốn test

  • Vậy nếu muốn test 20 API thì bạn phải coppy và dán 20 lần. -> Quá là gà đi mất 😅😅😅

3. Cũng là bằng cơm nhưng xịn hơn một tý:

  • Tạo một biến( global) acccessToken
  • Setting header tết cả API, Authcation = "Bearer {{acccessToken}}"
  • Gọi api login
  • Coppy token rồi dán vào biến acccessToken
  • Chỉ cần gọi API login 1 lần, và dán 1 lần, xin hơn rồi 👋👋👋👋

4. Thực hiện tự động

  • Tự động là sau khi bạn gọi login, postman sẽ tự coppy token rồi dán vào header.

  • Các thực hiện, thêm script sau vào mục Tests

pm.test("Status code is 200", function () { pm.response.to.have.status(200);
}); const res = pm.response.json(); pm.globals.set("accessToken", res.access_token); 

  • Hiện giờ bạn cần thực hiện 01 lần login trước khi muốn test api. Không biết có thể xịn hơn được không chớ như vầy vẫn còn lười lắm 😒😒😒

5 Siêu tự động:

  • Thêm pre-script thực hiện set token trước khi thực hiện gọi API.
const Host = pm.globals.get("Host")
const postRequest = { url: `${Host}/v1/public/auth/login`, method: 'POST', header: { 'Content-Type': 'application/json', 'X-Foo': 'bar' }, body: { mode: 'raw', raw: JSON.stringify({"phone" : "phone", "password" : "password"}) }
};
pm.sendRequest(postRequest, (error, response) => { console.log(error ? error : response.json()); const res = response.json(); pm.globals.set("accessToken", res.access_token);
});
  • Vậy là giờ bạn không cần quan tâm gì đến quy trình xác thực bằng jwt nữa, cứ vào là làm thôi, tha hồ mà lười 👏👏👏
  • File postman của chotot, các bạn có thể sử dụng bằng cách thay đổi phone và pass của mình.
  • Hoặc thực hành trên chính api dự án mình đang làm.

Bình luận

Bài viết tương tự

- vừa được xem lúc

How JSON Web Token(JWT) authentication works?

1. JWT (JSON Web Token) là gì . Thông tin này có thể xác minh và đáng tin cậy vì nó là chữ ký điện tử . Jwt có thể được đăng ký băng cách sử dụng bí mật (với thuật toán HMAC) hoặc cặp khóa public/private bằng RSA.

0 0 60

- vừa được xem lúc

JWT và ứng dụng xác thực người dùng trong Rails

JWT. Thời gian gần đây mình có init API thì mình có ứng dụng Json Web Token (JWT) để xây dựng xác thực người dùng. Nó có support những gì và ứng dụng của nó ra sao thì mình xin chia sẻ trong bài viết. Nó là gì.

0 0 164

- vừa được xem lúc

Tìm hiểu một chút về JWT

Hello mọi người, trong bài viết hôm nay mình cùng các bạn sẽ cùng tìm hiểu về JWT nhé. JWT ( Json Web Token ) là 1 tiêu chuẩn mở (RFC 7519) định nghĩa cách truyền thông tin một cách an toàn giữa các b

0 0 62

- vừa được xem lúc

Refresh token là gì? Cách hoạt động có khác gì so với token không?

Ở những bài trước chúng ta đã nói nhiều về JWT là gì? Vì sao phải sử dụng JWT, trong suốt quá trình sử dụng JWT chúng tôi có nhận được nhiều phản hồi về chủ đề JWT. Trong đó có một vấn đề mà có nhiều

0 0 87

- vừa được xem lúc

JWT và ứng dụng của nó

Khái niệm. JSON Web Token (JWT) là 1 tiêu chuẩn mở (RFC 7519) định nghĩa cách thức truyền tin an toàn giữa bên bằng 1 đối tượng JSON.

0 0 30

- vừa được xem lúc

JWT - Từ cơ bản đến chi tiết

Chào mọi người. Bài viết của mình ngày hôm nay với mục đích chia sẻ những kiến thức mà mình lượm nhặt được, gom chúng lại để tổng hợp cho các bạn.

0 0 34