[BE] Create GraphQL framework to support granular token authorization
A GraphQL framework should be created to support granular personal access token authorization.
For this framework, we need the following components:
- A
Directives::Authz::GranularScopedirective class to tag mutations and types with permission enums - A
Types::Authz::PermissionEnumenum class to define the available permissions - A
Gitlab::GraphQL::Authz::GranularScopeAuthorizationextension class to set the boundary and authorize the requests - A
Gitlab::GraphQL::QueryAnalyzers::AST:: GranularScopeAnalyzeranalyzer class to set the required permissions for each request
A PoC for these classes can be found here: !196281 (closed)
Edited by 🤖 GitLab Bot 🤖