Introduction
JWT tokens help keep users logged in safely. They store user info in a secure way so the app knows who you are.
Jump into concepts and practice - no test required
JWT tokens help keep users logged in safely. They store user info in a secure way so the app knows who you are.
from datetime import datetime, timedelta from jose import jwt SECRET_KEY = "your-secret-key" ALGORITHM = "HS256" # Function to create a JWT token # data: dict with user info # expires_delta: optional expiration time def create_access_token(data: dict, expires_delta: timedelta | None = None) -> str: to_encode = data.copy() expire = datetime.utcnow() + (expires_delta if expires_delta else timedelta(minutes=15)) to_encode.update({"exp": expire}) encoded_jwt = jwt.encode(to_encode, SECRET_KEY, algorithm=ALGORITHM) return encoded_jwt
The exp field sets when the token expires.
Use a strong SECRET_KEY to keep tokens safe.
token = create_access_token({"sub": "user123"})token = create_access_token({"sub": "user123"}, expires_delta=timedelta(hours=1))This program creates a JWT token for user 'alice' that expires in 30 minutes and prints it.
from datetime import datetime, timedelta from jose import jwt SECRET_KEY = "mysecretkey123" ALGORITHM = "HS256" def create_access_token(data: dict, expires_delta: timedelta | None = None) -> str: to_encode = data.copy() expire = datetime.utcnow() + (expires_delta if expires_delta else timedelta(minutes=15)) to_encode.update({"exp": expire}) encoded_jwt = jwt.encode(to_encode, SECRET_KEY, algorithm=ALGORITHM) return encoded_jwt # Example usage if __name__ == "__main__": user_data = {"sub": "alice"} token = create_access_token(user_data, expires_delta=timedelta(minutes=30)) print("JWT Token:", token)
Keep your SECRET_KEY private and never share it.
Tokens include an expiration time to improve security.
Use the jose library for easy JWT handling in FastAPI.
JWT tokens store user info safely for authentication.
Create tokens with user data and expiration time.
Use a secret key and a secure algorithm like HS256.
print(token) statement?
from jwt import encode
payload = {"user_id": 123}
secret = "mysecret"
algorithm = "HS256"
token = encode(payload, secret, algorithm=algorithm)
print(token)from jwt import encode
payload = {"user_id": 42}
secret = "secretkey"
token = encode(payload, secret)
print(token)