Я использую Symfony 4 и Lexik (для управления JWT) и FOSRest Bundle.
Когда я отправляю токен, я использую этот метод:
public function getTokenUser(JWTTokenManagerInterface $JWTManager) {
$user = $this->getUser();
return new JsonResponse(['token' => $JWTManager->create($user)]);
}
Поскольку мне нужно добавить данные в свою полезную нагрузку, я создаю класс JWTManagerCustom, который расширяется от JWTManager.
Если я хочу, чтобы getTokenUser () использовал мою службу, мне нужно изменить подпись функции следующим образом:
public function getTokenUser(JWTManagerCustom $JWTManager) { ... }
Я бы предпочел и дальше использовать интерфейс, как мне это сделать?