openedx / openedx/openedx-authz

AuthZ Extensibility in Willow: Enable Roles and Permissions Contributed by Modules

Open
#408 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

willow
Dominant language
Python
Stars
0
Forks
9
Avg merge
13d 9h
Merged PRs (30d)
9

Description

Description

Allow an installed module to contribute new roles and permissions (including the metadata needed by the Administrative Console) without changing openedx-authz critical code paths or adding role-specific frontend code.

  • Spike: Extensibility Proposal for Willow Instructor Dashboard Use Case

  • Guiding use case: Instructor Dashboard.

  • Context: The PoC already showed that Casbin can load, assign, and enforce new role and permission strings. This epic covers the missing definition layer around that behavior: contribution/discovery, metadata, validation, and role-agnostic APIs.

  • Scope covered: Use cases A1, A2, A5, and A6 (add a role with existing permissions; add a role with new permissions; add new/existing permissions to a built-in role). Uses the current scope and subject.

  • Out of scope: new scope types, new subject types, scope REST discovery, and plugin removal.

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

No files or tests are named. Start with the linked Extensibility Proposal and the existing Casbin proof of concept, focusing on contribution/discovery, metadata, validation, and role-agnostic APIs for use cases A1, A2, A5, and A6. Done means modules can contribute roles and permissions, including Administrative Console metadata, without changing critical authorization paths or adding role-specific frontend code.

Written by the indexing model from the issue text.

Assessment

Tech stack
python
Domain
authorization, backend-api-design, security
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Active
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.