Scarface SSO (Single Sign-On) Web App is a web app designed for user authentication and session management. This app leverages asynchronous programming and integrates with external services for secure authentication and authorization.
- Authentication: Secure user login and registration with password complexity checks.
- Session Management: Persistent user sessions using encrypted cookies.
- Two-Step Verification: Email-based verification for added security during login.
- Middleware: Custom middleware for protecting routes and filtering requests based on IP and user-agent.
- NoSQL Database: Utilizes a custom NoSQL framework for efficient data storage and retrieval.
- Asynchronous Operations: Utilizes asyncio for concurrent task handling, ensuring smooth performance.
- Python 3.7+
- Dependencies listed in
requirements.txt
- Environment variables:
safe_key
: Fernet keymailjet_api_key
: API key for Mailjet integration.mailjet_secret_key
: Secret key for Mailjet integration.mailjet_mail
: Mailjet sender email.mailjet_name
: Mailjet sender name.app_url
: Base URL of the application.
-
Clone the repository:
git clone https://github.com/anonyxbiz/Scarface-SSO.git cd Scarface-SSO
-
Install dependencies:
pip install -r requirements.txt
-
Set up environment variables:
export mailjet_api_key='your_mailjet_api_key' export mailjet_secret_key='your_mailjet_secret_key' export app_url='https://yourappurl.com'
-
Run the application:
python app.py
-
Access the application in your browser at
http://localhost:8001
.
- Update
middleware.allowed_hosts
inapp.py
to include your deployment hosts. - Customize email templates and verification URLs in
Verification.two_step_verification
.
This project is licensed under the MIT License - see the LICENSE file for details.
It was fun making this project and it was solely meant for fun.