привет, я хочу вручную закодировать пароль (пароль для входа не api ha sh) в php symphony
вот конфигурация безопасности
https://paste.ubuntu.com/p/mPM2p8ywcQ/
Я пробую этот код в APiController. php
namespace App\Controller;
use App\Repository\AccountsRepository;
use InstagramAPI\Instagram;
use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
use Symfony\Component\HttpFoundation\JsonResponse;
use Symfony\Component\Routing\Annotation\Route;
use Symfony\Component\Security\Core\Encoder\UserPasswordEncoderInterface;
use Symfony\Bundle\FrameworkBundle\Controller\Controller;
.....
$encoder = $this->get('security.encoder_factory')->getEncoder($userClass);
$encodedPassword = $encoder->encodePassword("test");
echo $encoded;
получил эту ошибку
Служба security.encoder_factory не найдена: хотя он существует в контейнере приложения, контейнер внутри «App \ Controller \ APiController» - это меньший локатор службы, который знает только о «doctrine», «form.factory», «http_kernel», «parameter_bag», «request_stack» , «маршрутизатор», «security.authorization_checker», «security.csrf.token_manager», «security.token_storage», «сериализатор», «сеанс», «шаблоны» и «веточка». Попробуйте вместо этого использовать внедрение зависимостей.
Я также попробую этот код:
....
use FOS\UserBundle\Model\User;
...
$user = new App\Entity\User();
$plainPassword = 'ryanpass';
$encoded = $encoder->encodePassword($user, $plainPassword);
$user->setPassword($encoded);
получил эту ошибку:
Невозможно использовать FOS \ UserBundle \ Model \ User as User, поскольку это имя уже используется