A Django-powered Single Sign-On (SSO) service that lets you authenticate once and rule all your applications. Because who has time to remember multiple passwords?
- Seamless Authentication: One account to access them all, one password to find them
- Session Management: Keep track of who's who in your digital kingdom
- API Integration: RESTful endpoints that play nice with others
- Security First: Because we care about your digital well-being
- User Management: Control who gets the keys to your kingdom
- Backend: Django 4.x (Because Python is love ❤️)
- Database: PostgreSQL (The elephant that never forgets 🐘)
- Cache: Redis (Because speed is what you need ⚡)
- API: Django REST Framework (RESTful done right ✨)
-
Clone this bad boy:
git clone https://github.com/ITC-Web-Team/itc_sso cd accounts
-
Set up your virtual environment (because isolation is good):
python -m venv venv
-
Activate your virtual environment :
- On macOS/Linux:
source env/bin/activate
- On Windows:
.\env\Scripts\activate
- On macOS/Linux:
-
Install dependencies:
pip install -r requirements.txt
-
Create your
.env
file (shhh... it's a secret):cp .env.example .env # Edit .env with your super secret configurations # Setup your database and add the connection information here in this file
-
Run migrations:
python manage.py migrate
-
Create a superuser (with great power comes great responsibility):
python manage.py createsuperuser
-
Launch the rocket:
python manage.py runserver
-
Access the application at
http://127.0.0.1:8000
.
- JWT-based authentication (because we're fancy)
- Rate limiting (to keep the bad guys at bay)
- Session encryption (your secrets are safe with us)
- CORS protection (because boundaries are important)
- Fork it (because sharing is caring)
- Create your feature branch (
git checkout -b feature/amazing-feature
) - Commit your changes (
git commit -m 'Add some amazing feature'
) - Push to the branch (
git push origin feature/amazing-feature
) - Open a Pull Request (let's make this project awesome together!)
- Coffee ☕ - For making this possible
- Stack Overflow 🚀 - Our faithful companion
- Bug reporters 🐛 - For keeping us humble
- 📚 Check out our Documentation
- 🐞 Found a bug? Open an issue
Made with ❤️ by ITC Web Team
Remember: In a world full of passwords, be the SSO provider! 🦸♂️
itc_sso
│ .env.example
│ .gitignore
│ manage.py
│ readme.md
│ requirements.txt
│
├───accounts
│ │ .env
│ │ admin.py
│ │ apps.py
│ │ email_utils.py
│ │ forms.py
│ │ models.py
│ │ serializers.py
│ │ tests.py
│ │ urls.py
│ │ utils.py
│ │ views.py
│ │
│ └───management
│ └───commands
│ sync_static.py
│
├───config
│ asgi.py
│ settings.py
│ urls.py
│ wsgi.py
│
├───static
│ │ style.css
│ │
│ └───img
│ github.svg
│ logo.png
│ sso-flow.png
│
└───templates
│ base.html
│ confirmed.html
│ documentation.html
│ edit_profile.html
│ email_sent.html
│ email_verification.html
│ email_verification_sent.html
│ error.html
│ forgetpassword.html
│ forgotpassword.html
│ home.html
│ home_logined.html
│ login.html
│ password_reset_done.html
│ register.html
│ registration_success.html
│ resetpassword.html
│ reset_password.html
│ ssocall.html
│ ssologin.html
│
├───emails
│ reset_password_email.html
│ verification_email.html
│
└───projects
add_project.html
manage_projects.html
project_details.html