403 Forbidden when accessing /api/v1/extensions/_info (Superset 6.1.0rc1 + extension 0.1.0rc1, Docker) #38736
Replies: 1 comment
-
|
This looks like a permission synchronization issue that's common after upgrades. The Try these steps in order:
Why this happens: Superset uses Flask-AppBuilder's permission auto-generation system which runs during If that doesn't work: The March 2026 extension API changes introduced a new unified For Docker specifically, ensure the docker compose logs superset-initThis is a known pattern of issues after upgrades where permissions aren't properly synced. To reply, just mention @dosu. How did I do? Good | Irrelevant | Incorrect | Verbose | Hallucination | Report 🐛 | Other |
Beta Was this translation helpful? Give feedback.
Uh oh!
There was an error while loading. Please reload this page.
-
Environment
Apache Superset: 6.1.0rc1
apache-superset-extension-cli: 0.1.0rc1
apache-superset-core: 0.1.0rc1
Deployment: Docker
Authentication: Database (admin user)
Problem
When accessing the /extensions page, the frontend fails to load extension metadata.
The request:
GET /api/v1/extensions/_info?q=(keys:!(permissions))
fails with:
401 Unauthorized when no Authorization header is provided
403 Forbidden when Authorization header is included
Observations
Admin user has read and menu access permissions for extensions
However, the following command shows no related permissions:
superset fab list-permissions | grep -i extension
No permissions such as can read on ExtensionsRestApi are present
The API route exists and is reachable, but authorization fails
Expected Behavior
Authenticated admin user should be able to access /api/v1/extensions/_info
Required permissions for ExtensionsRestApi should be automatically generated
/extensions page should load successfully
Actual Behavior
Endpoint requires authentication
Authentication succeeds (Authorization header works)
Authorization fails with 403
Missing permissions for Extensions API in the system
Steps to Reproduce
Run Superset 6.1.0rc1 with Docker
Install and enable extension packages (apache-superset-extension-cli and apache-superset-core)
Login as admin user
Navigate to /extensions
Observe failed request to:
/api/v1/extensions/_info
Check response:
401 without Authorization header
403 with Authorization header
Question
Are permissions for ExtensionsRestApi expected to be auto-generated?
Is there an additional initialization step required for extensions in Docker deployments?
Should this endpoint use session-based auth instead of JWT, or is Authorization header required by design?
Could this be a bug where API routes are registered but permissions are not synchronized?
Beta Was this translation helpful? Give feedback.
All reactions