rsPass is a modern, secure password manager backend written in Rust with a focus on performance, security, and scalability. 🚀
It provides a REST API to manage user authentication, password storage, and secure data synchronization. 📚
rsPass leverages SQLite for data storage, JWT for authentication, and integrates with Swagger-UI for API documentation. ✨
- User Management: Secure registration, login, and password change.
- Data Encryption: Stores user-specific data in an encrypted format.
- JWT Authentication: Stateless and secure authentication mechanism.
- Swagger-UI Integration: Built-in API documentation.
- Environment Configuration: Flexible setup using environment variables.
- Database Transactions: Ensures data consistency using rusqlite transactions.
- Security by Design: Input validation, SQL injection prevention, and Argon2id for password hashing.
- Rust: The programming language powering rsPass.
- actix-web: Web framework for building the REST API.
- rusqlite: Lightweight SQLite library for database operations.
- JWT: Token-based authentication using actix-web-httpauth.
- utoipa: API documentation generation.
- Swagger-UI: Interactive API explorer.
- Rust (latest stable version)
- Docker (optional, for containerized setup)
Clone the repository:
git clone https://github.com/yourusername/rspass-backend.git
cd rspass-backend
Set up the environment variables: Create a .env file in the root directory:
JWT_SECRET=your_jwt_secret_key
Run the programm:
cargo watch -x run
rsPass integrates with Swagger-UI for API documentation.
After starting the server, navigate to https:///swagger-ui to explore the available endpoints.
The Backend can be deployed using Docker:
docker pull ghcr.io/letgamer/rspass:main
A docker-compose example file can also be found at docker-compose.yaml
.
See the Wiki for detailed Documentation about the Routes and API Logic