Skip to main content

Open edX AuthZ provides the architecture and foundations of the authorization framework.

Project description

openedx-authz

PyPI CI Codecov Documentation Supported Python versions License status-badge

Purpose

Open edX AuthZ provides the architecture and foundations of the authorization framework. It implements the core machinery needed to support consistent authorization across the Open edX ecosystem.

This repository centralizes the architecture, design decisions, and reference implementation of a unified model for roles and permissions. It introduces custom roles, flexible scopes, and policy-based evaluation, aiming to replace the fragmented legacy system with a scalable, extensible, and reusable solution.

See the Product Requirements document for Roles & Permissions for detailed specifications and requirements.

Change Log

Unreleased

0.9.0 - 2025-10-27

Added

  • Function API to retrieve scopes for a given role and subject.

0.8.0 - 2025-10-24

Added

  • Allow disabling auto-load and auto-save of policies by setting CASBIN_AUTO_LOAD_POLICY_INTERVAL to -1.

Changed

  • Migrate from using pycodestyle and isort to ruff for code quality checks and formatting.

  • Enhance enforcement command with dual operational modes (database and file mode).

0.7.0 - 2025-10-23

Added

  • Initial migration to establish dependency on casbin_adapter for automatic CasbinRule table creation.

0.6.0 - 2025-10-22

Changed

  • Use a SyncedEnforcer with default auto load policy.

Removed

  • Remove Casbin Redis watcher from engine configuration.

0.5.0 - 2025-10-21

Added

  • Default policy for Content Library roles and permissions.

Fixed

  • Add plugin_settings in test settings.

  • Update permissions for RoleListView.

0.4.1 - 2025-10-16

Fixed

  • Load policy before adding policies in the loading script to avoid duplicates.

0.4.0 - 2025-16-10

Changed

  • Initialize enforcer when application is ready to avoid access errors.

0.3.0 - 2025-10-10

Added

  • Implementation of REST API for roles and permissions management.

0.2.0 - 2025-10-10

Added

  • ADRs for key design decisions.

  • Casbin model (CONF) and engine layer for authorization.

  • Implementation of public API for roles and permissions management.

0.1.0 - 2025-08-27

Added

  • Basic repo structure and initial setup.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

openedx_authz-0.9.0.tar.gz (67.7 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

openedx_authz-0.9.0-py2.py3-none-any.whl (76.8 kB view details)

Uploaded Python 2Python 3

File details

Details for the file openedx_authz-0.9.0.tar.gz.

File metadata

  • Download URL: openedx_authz-0.9.0.tar.gz
  • Upload date:
  • Size: 67.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for openedx_authz-0.9.0.tar.gz
Algorithm Hash digest
SHA256 9a8512d8c76529919dc79da0b0a58bf5429bd91080fc1a5f65b232ff2b3df051
MD5 d30550e860aaed5c605ff4290335ef64
BLAKE2b-256 8e1f7636036ab3f6817efae3cd0a39d28099e2d5a644ea002a66e88e58334d05

See more details on using hashes here.

File details

Details for the file openedx_authz-0.9.0-py2.py3-none-any.whl.

File metadata

  • Download URL: openedx_authz-0.9.0-py2.py3-none-any.whl
  • Upload date:
  • Size: 76.8 kB
  • Tags: Python 2, Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for openedx_authz-0.9.0-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 6a9d374d6a48516a63f2d8f8281355e3fdaaf232a6ec44162f17a3aa17acdd6b
MD5 28728ac0c7f40de8ceb4ce16d0d38c45
BLAKE2b-256 174daddab2ec9372a4fe8a76ecf0ce774ceb410388553051e8125c477dcf0325

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page