public function authorize(
        string $action,
        $object,
        array $source = null
    ) {
        if ($this->request()->user()->cant($action, $object)) {
            throw new RequestFailedAuthorization(
                new Error(
                    $id = null,
                    $link = new Link('https://tools.ietf.org/html/rfc7231#section-6.5.3'),
                    $status = '403',
                    $code = null,
                    $title = 'Forbidden',
                    $desc = 'Access is denied for one or more of the specified resources',
                    $source,
                    $meta = null
                )
            );
        }

        return true;
    }