Bearer Token Authentication: What It Is and How It Works
token called a bearer token with each request to prove its identity. The server checks this token to allow or deny access without needing a username or password every time. This token acts like a digital key that grants access to protected resources.How It Works
Imagine you have a special ticket that lets you enter a concert without showing your ID every time. Bearer token authentication works similarly. When you log in once, the server gives you a token — this is your ticket. You then send this token with every request to prove you have permission.
The token is usually sent in the HTTP header called Authorization with the word Bearer followed by the token itself. The server reads this token and checks if it is valid and not expired. If it is, you get access to the resource you requested.
This method is simple and stateless, meaning the server does not need to remember your login details between requests. It just trusts the token you provide.
Example
This example shows how a client sends a bearer token in a request header to access a protected API endpoint.
import requests url = 'https://api.example.com/data' bearer_token = 'abc123xyz456token' headers = { 'Authorization': f'Bearer {bearer_token}' } response = requests.get(url, headers=headers) print(response.status_code) print(response.text)
When to Use
Bearer token authentication is great when you want a simple and secure way to protect APIs or web services. It is commonly used in:
- Mobile apps that need to access a server without asking users to log in repeatedly.
- Single-page web applications where the client stores the token after login.
- APIs that serve third-party clients, where tokens can be issued and revoked easily.
This method works well when you want stateless authentication and easy token management, but it requires secure storage of tokens on the client side to prevent misuse.
Key Points
- A bearer token is like a digital key that grants access to resources.
- Tokens are sent in the
Authorizationheader with the prefixBearer. - The server validates the token on each request without storing session data.
- Tokens should be kept secret and secure on the client side.
- Commonly used in REST APIs, mobile apps, and web applications for stateless authentication.