Metadata-Version: 2.1
Name: platform_authentication
Version: 0.0.3
Summary: This is an app for managing authnetication in a SaaS product named Platform.
Author: Vishwajeet Kale
Author-email: vishwajeet.kale.v2stech@gmail.com
Classifier: Development Status :: 3 - Alpha
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: MIT License
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.6
Classifier: Programming Language :: Python :: 3.7
Classifier: Programming Language :: Python :: 3.8
Classifier: Programming Language :: Python :: 3.9
Classifier: Programming Language :: Python :: 3.10
Description-Content-Type: text/markdown

```markdown
# Integrating Platform Authentication Module

## Step 1: Install the Platform Authentication Module

```bash
pip install platform-authentication
```

## Step 2: Add to Installed Apps

Update your project's `INSTALLED_APPS` setting in `settings.py`:

```python
INSTALLED_APPS = [
    # ...,
    'platform_authentication',
]
```

## Step 3: Configure Middleware and Create Custom Middleware

Create a new file `middleware.py` in your project and add the following code:

```python
from platform_authentication.middleware import JWTMiddleware

# Project-Specific Imports

# Relative Import

class CustomJWTMiddleware(JWTMiddleware):
    def _is_excluded_endpoint(self, endpoint):
        """Helper method to check if an endpoint is excluded from subscription checks."""
        pass
        # Your logic for checking if the endpoint is excluded from authentication check
```

Now, add the custom middleware to your project's middleware in `settings.py`:

```python
MIDDLEWARE = [
    # ...,
    'your_path_to.custom_middleware.CustomJWTMiddleware',
    # ...,
]
```

## Step 4: Fake Migrations

Run the following command to fake migrations for the `platform_authentication` app:

```bash
python manage.py migrate platform_authentication --fake
```

## Step 5: Secret Key Replacement

Replace the secret key in your child project with the secret key from `platform-authentication`. Keep the secret key secure.

```python
# Example:
# parent_project_secret_key = '<some_secret_key1>'

# child_project_secret_key = '<parent_project_secret_key>'
```

**Note:** Ensure to replace placeholder values (`<some_secret_key1>`, `<parent_project_secret_key>`) with your actual secret keys.

Now, your Django project is integrated with the `platform_authentication` module for streamlined user authentication.
```
