userContext = $userContext; } /** * Check if resource for which access is needed has self permissions defined in webapi config. * * @param \Magento\Framework\Authorization $subject * @param callable $proceed * @param string $resource * @param string $privilege * * @return bool true If resource permission is self, to allow * customer access without further checks in parent method * @SuppressWarnings(PHPMD.UnusedFormalParameter) */ public function aroundIsAllowed( \Magento\Framework\Authorization $subject, \Closure $proceed, $resource, $privilege = null ) { if ($resource == AuthorizationService::PERMISSION_SELF && $this->userContext->getUserId() && $this->userContext->getUserType() === UserContextInterface::USER_TYPE_CUSTOMER ) { return true; } else { return $proceed($resource, $privilege); } } }