

Phương thức này hay còn được gọi là token authentication có thể hiểu đơn giản là “cấp quyền truy cập cho người mang token này”. Bearer token sẽ cho phép truy cập đến một số tài nguyên hoặc url nhất định và thường là một chuỗi string được mã hóa, được sinh ra bởi server trong response để thực hiện request login.
Khi thực hiện bằng phương thức này thì client phải gửi bearer token này trong header để thực hiện request
Cấu trúc header:
Authorization: Bearer <token>

Khi user gửi yêu cầu đến server để lấy một token bằng thông tin username, password thông qua SSL, server sẽ trả về một chuỗi access token. Access token này chính là Bearer token mà client cần phải gửi vào header nếu muốn thực hiện các yêu cầu khác để server xác thực user đó là đúng.
Token này có thể là một chuỗi mã hóa với các thuộc tính của user, vai trò của user đó. Khi server nhận được token này, sẽ giải mã sau đó sẽ thực hiện validate request đó trong ứng dụng xem user có được quyền thực hiện request đó hay không. Token này thường sẽ có thời hạn (ví dụ: 30 phút sau khi lấy sẽ hết hạn) bởi vì có thể role của user sẽ thay đổi trong quá trình thực hiện.
