|
|
@@ -12,6 +12,17 @@ export const PERMISSIONS_METADATA_KEY = '__permissions__';
|
|
|
*
|
|
|
* For REST controllers, it can be applied to route handlers.
|
|
|
*
|
|
|
+ * ## Allow and Sessions
|
|
|
+ * The `@Allow()` decorator is closely linked to the way Vendure manages sessions. For any operation or route that is decorated
|
|
|
+ * with `@Allow()`, there must be an authenticated session in progress, which would have been created during a prior authentication
|
|
|
+ * step.
|
|
|
+ *
|
|
|
+ * The exception to this is when the operation is decorated with `@Allow(Permission.Owner)`. This is a special permission which is designed
|
|
|
+ * to give access to certain resources to potentially un-authenticated users. For this reason, any operation decorated with this permission
|
|
|
+ * will always have an anonymous session created if no session is currently in progress.
|
|
|
+ *
|
|
|
+ * For more information see [Understanding Permission.Owner](/docs/typescript-api/common/permission/#understanding-permissionowner).
|
|
|
+ *
|
|
|
* @example
|
|
|
* ```TypeScript
|
|
|
* \@Allow(Permission.SuperAdmin)
|