semvec/pypi-packages huggingface dataset:
platform-authentication 0.0.5
This is an app for managing authnetication in a SaaS product named Platform.
License: MIT

```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.



## Configuration

To configure the authentication settings for your project, you can use the following settings in your Django project's `settings.py` file:

```python
SIMPLE_JWT = {
    'AUTH_HEADER_TYPES': ('JWT', "Bearer",),
    'USER_ID_FIELD': 'username',
}
```

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