Django app that offers a big red button to sign out of all other user sessions
Project description
Big Red Button
For Django
django-bigredbutton provides a big red "End All Other Sessions" button in a list of a user's current sessions.
It can work with multiple session backends, and includes built-in templates for both django-qsessions and django-user-sessions, and dynamically switches between them depending on which one is identified in settings.SESSION_ENGINE
.
Compatibility
- Python: >= 3.11
- Django: >= 4.0
Installation
-
Install the latest version:
pip install django-bigredbutton
poetry add django-bigredbutton
-
Add a session backend, like django-qsessions or django-user-sessions. You can use the optional packaging shortcuts:
pip install 'django-bigredbutton[qsessions]'
poetry add 'django-bigredbutton[qsessions]'
pip install 'django-bigredbutton[user-sessions]'
poetry add 'django-bigredbutton[user-sessions]'
But there may be additional steps required for each session backend. Refer to the documentation for your session backend package for their installation instructions.
-
Add
bigredbutton
toINSTALLED_APPS
in your project'ssettings.py
, and optionally setBIGREDBUTTON_DELETE_SUCCESS_URL_NAME
to the URL name of your choice (default:list_sessions
). -
Register
bigredbutton
in your projects root URLConf:urlpatterns = [ ... path("account/sessions/", include("bigredbutton.urls")), ... ]
Usage
Run Django's development server and navigate to the configured root for
bigredbutton
. The URL in these instructions will be
http://localhost:8000/account/sessions/
.
You will see a list of all of your current sessions. If you have more than one session (eg: you are signed in on more than one browser or device), you will see a big red "End All Other Sessions" button. That button will sign you out of all of your other sessions.
TODO
I have intentionally kept this app very small to minimize the maintenance burden. But contributions are very welcome!
License
MIT
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.