# JANUX Authentication Gateway

[![Python](https://img.shields.io/badge/Python-3.10%2B-darkcyan)](https://pypi.org/project/janux-auth-gateway/)
[![PyPI - Version](https://img.shields.io/pypi/v/janux-auth-gateway?label=PyPI%20Version&color=green)](https://pypi.org/project/janux-auth-gateway/)
[![PyPI Downloads](https://static.pepy.tech/badge/janux-auth-gateway)](https://pepy.tech/projects/janux-auth-gateway)
[![License: Apache 2.0](https://img.shields.io/badge/License-Apache2.0-orange.svg)](https://github.com/fox-techniques/janux-auth-gateway/blob/main/LICENSE)
[![GitHub](https://img.shields.io/badge/GitHub-janux--auth--gateway-181717?logo=github)](https://github.com/fox-techniques/janux-auth-gateway)

**JANUX Authentication Gateway** is a high-performance, modular, and extensible authentication microservice built with **FastAPI**. It provides secure user and admin authentication, JWT management, and seamless MongoDB integration via Beanie ODM. Designed for developers and organizations, JANUX ensures scalability, flexibility, and security—making it ideal for **SaaS platforms, APIs, and enterprise applications** that require a robust authentication system.


## 🌟 Key Features

- 🚀 **FastAPI-based** – Asynchronous, high-performance authentication.
- 🔑 **JWT Authentication & Token Management** – Secure access and refresh tokens.
- 🏷️ **Role-Based Access Control (RBAC)** – Admins, users, and fine-grained permissions.
- 🗄️ **MongoDB with Beanie ODM** – Flexible user and admin management.
- 🔐 **Secure Password Hashing** – Uses Argon2 & Bcrypt for industry-leading security.
- 📜 **Cryptographic Key Support** – RSA, Ed25519, and ECDSA for secure key management.
- 🔄 **Redis-Based Token Blacklisting** – Prevents reuse of revoked tokens.
- 🌍 **CORS Middleware** – Configurable allowed origins for API security.
- 🏗️ **Modular & Extensible** – Easily customizable for different authentication workflows.
- 📦 **Deploy Anywhere** – Works in Docker, Kubernetes, and serverless environments.


## 📌 Why Choose **JANUX**?

**JANUX** is developer-friendly, scalable, and production-ready. It eliminates the complexity of authentication by providing a plug-and-play solution for handling users, roles, security, and authentication tokens—so you can focus on building your core application.

## 💡 Use **JANUX** if you need:

- ✅ A ready-to-use authentication system **for APIs and SaaS apps**.
- ✅ A secure and scalable solution with **RBAC & JWT**.
- ✅ Flexibility to extend authentication workflows.
- ✅ Modern authentication standards with **FastAPI, MongoDB, and Redis**.

---
