#php #laravel #laravel-8 #webhooks
Вопрос:
Я новичок, и я пытаюсь создать собственный класс проверки подписи, и, следуя документации Spatie, я создал файл CustomSignatureValidator.php который реализует SpatieWebhookClientSignatureValidatorSignatureValidator, но я получаю следующую ошибку:
Приложение/Обработчик/CustomSignatureValidator не является допустимым классом проверки подписи. Валидатор действительной подписи-это класс, реализующий SpatieWebhookClientSignatureValidatorSignatureValidator
Вот как это выглядит:
<?php
namespace AppHandlerCustomSignatureValidator;
use IlluminateHttpRequest;
use SpatieWebhookClientExceptionsWebhookFailed;
use SpatieWebhookClientWebhookConfig;
use SpatieWebhookClientSignatureValidatorSignatureValidator;
class CustomSignatureValidator implements SignatureValidator
{
public function isValid(Request $request, WebhookConfig $config): bool
{
return true;
}
}
Я также пробовал использовать
use SpatieWebhookClientSignatureValidatorSignatureValidator as SignatureValidator;
Но я также получаю ту же ошибку.
Если бы вы могли сказать мне, что я делаю не так, я был бы вам очень признателен.
Ответ №1:
Я думаю, что у тебя их слишком много CustomSignatureValidator
. Ваше пространство имен есть AppHandlerCustomSignatureValidator
, а это значит, что ваш класс будет AppHandlerCustomSignatureValidatorCustomSignatureValidator
.
Я предполагаю, что ошибка не в том, что ваш класс не реализует правильный интерфейс, а в том, что он не может быть найден загрузчиком.
Попробуйте удалить CustomSignatureValidator
из своего пространства имен, что приведет к тому , что ваш класс станет AppHandlerCustomSignatureValidator
, который Laravel должен быть в состоянии найти.