This is a gRPC-based authentication microservice written in Python. It provides functionality for user sign-in, token authentication, token refresh, and logout operations. The service uses Redis for storing refresh tokens and maintaining a token blacklist, with JWT (JSON Web Tokens) for secure access tokens.
- SignIn: Authenticate a user and issue access and refresh tokens.
- Authenticate: Validate an access token and retrieve the associated username.
- RefreshToken: Generate new access and refresh tokens using a valid refresh token.
- Logout: Invalidate access and refresh tokens by adding them to a blacklist.
- Token Blacklist: Invalidated tokens are stored in Redis to prevent reuse.
- Redis Integration: Refresh tokens and blacklists are stored in Redis with TTL.
- gRPC: High-performance RPC framework for efficient communication.
- Python 3.10+
- Redis
- Docker (compose v2)
git clone https://github.com/Wayfarer545/auth-microservice.git
cd auth-microservice