Metadata-Version: 2.1
Name: django-password-expire
Version: 0.2
Summary: Django app for forcing password expiration
Home-page: https://github.com/cash/django-password-expire
Author: Cash Costello
Author-email: cash.costello@gmail.com
License: BSD
Classifier: Development Status :: 5 - Production/Stable
Classifier: Environment :: Web Environment
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: BSD License
Classifier: Programming Language :: Python :: 3
Classifier: Framework :: Django
Requires-Python: >=3.6
Description-Content-Type: text/markdown
License-File: LICENSE

# Django password expiration app
This app provides configurable expiration of passwords.

## Features
 * Configurable password duration and warning duration
 * Visual warning to user using Django messages
 * Prevents user from logging in after expiration

## Requirements
This Django app requires Python >= 3.6 and has been tested with Django 2.2, 3.1, and 3.2.

## Installation
 1. `pip install django-password-expire`.
 2. Add `password_expire` to `INSTALLED_APPS`.
 3. Add `'password_expire.middleware.PasswordExpireMiddleware'` to `MIDDLEWARE`.
    It should be listed after authentication and session middlewares.
 4. Configure the app in your settings:
    ```python
    # contact information if password is expired
    PASSWORD_EXPIRE_CONTACT = "John Doe <jdoe@example.com>"
    # expire passwords after 90 days
    PASSWORD_EXPIRE_SECONDS = 90 * 24 * 60 * 60
    # start warning 10 days before expiration
    PASSWORD_EXPIRE_WARN_SECONDS = 10 * 24 * 60 * 60
    ```
 5. Run `python manage.py migrate` to create the required database tables.

To redirect new users to the change password page, set this flag in the settings:
```python
PASSWORD_EXPIRE_FORCE = True
```

If you want to exclude superusers from the password expiration, set this flag:
```python
PASSWORD_EXPIRE_EXCLUDE_SUPERUSERS = True
```

## Acknowledgements
This app is inspired by [django-password-policies-iplweb](https://github.com/iplweb/django-password-policies-iplweb).
