What problem does it solve?
Implementing authorization in Webiny API use cases manually requires repetitive identityContext.getPermission() calls and ad-hoc ownership checks, which leads to inconsistent access control and security gaps across features.
Core Features & Use Cases
- Permission Schema Definition: Declare namespaced permission schemas with createPermissionSchema, defining entities, scopes (full/own), and actions (rwd, pw, custom flags).
- DI-Injectable Permissions: Generate typed Permissions abstractions via createPermissionsAbstraction and register them as features with createPermissionsFeature for use in any use case.
- Use Case Integration Patterns: Apply ready-made patterns for Get, List, Update, Delete, and Publish use cases, including own-record scoping via onlyOwnRecords and item-level checks like canDelete.
- Use Case: When building a products API where editors should only modify their own records, define the schema once, inject SmPermissions into each use case, and get typed canRead/canEdit/canDelete checks with automatic ownership enforcement.
Quick Start
Ask the AI to add permission checks to a Webiny API use case using a createPermissionSchema-based permissions feature with own-record scoping.