{"categories":[{"label":"WWW/HTTP","url":"https://skillfed.io/packages/category/internet-www-http/7"}],"enrichment":{"capability":"Provides JWT authentication, CSRF token endpoints, and cross-cutting API concerns for Django REST Framework applications.","skillfed_tags":["jwt-auth","django-rest-framework"],"use_cases":["Add JWT authentication to a Django REST API service that validates tokens from an identity provider.","Expose a CSRF token endpoint in a Django service for frontend applications to retrieve tokens for state-changing requests.","Implement forgiving JWT cookie authentication that falls back to session authentication when JWT validation fails.","Verify that JWT user identity matches the session user identity to prevent authentication bypass in multi-service deployments.","Enable email matching validation between JWT claims and user records in LMS services."],"what_it_does":"edx-drf-extensions is a library of shared API utilities built on top of Django and djangorestframework, providing JWT authentication, CSRF token endpoints, and cross-cutting concerns for multiple applications. It handles JWT cookie validation with fallback to session authentication, email matching verification between JWT and user records, and exposes a CSRF API endpoint for frontend applications making state-changing requests to Django services with CSRF middleware enabled.\n\nThe library depends on Django, djangorestframework, drf-jwt, pyjwt, django-waffle, edx-django-utils, edx-opaque-keys, requests, and semantic_version. It is actively maintained with a stable release history since 2016, recent releases adding support for Django 5.2 and Python 3.12, and dropping support for older versions. The codebase includes detailed changelog documentation of breaking changes and feature toggles for gradual rollout.","worth_installing":"Yes, if you are building a Django REST API that needs JWT authentication and CSRF token handling integrated with the Open edX ecosystem. The library is actively maintained, has no known vulnerabilities, and provides well-documented authentication utilities. No, if you are building a standalone Django REST API unrelated to Open edX\u2014the package may be tightly coupled to Open edX conventions."},"id":"edx-drf-extensions","links":{"html":"https://skillfed.io/packages/edx-drf-extensions","md":"https://skillfed.io/packages/edx-drf-extensions.md","pypi":"https://pypi.org/project/edx-drf-extensions/"},"maintenance":{"status":"active"},"meta":{"latest_release":"2025-04-04","license_spdx":null,"license_treatment":"permissive","name":"edx-drf-extensions","python_support":"unspecified","summary":"edX extensions of Django REST Framework"},"popularity":{"monthly_downloads":89391,"position":13662,"tier":"top_15000"},"security":{"n_vulnerabilities":0},"version":"10.6.0"}
