Bonjour,
Voila je rencontre un petit problème avec mon code.
Jwt token
Je développe actuellement mon premier Api paltform et, lorsque je teste la fonction RegisterUserAction, je rencontre ce problème.
"An error occurred while trying to encode the JWT token. Please verify your configuration (private key/passphrase)","
"It was not possible to parse your key, reason: error:0909006C:PEM routines:get_name:no start line"
je ne sais pas quoi faire
function registerUserAction
/**
* Register a new User
*
* @param Request $request
* @throws \Exception
*
* @Annotations\Post("/register-User")
* @SWG\Parameter(
* name="form",
* in="body",
* description="Request Body Params",
* @Model(type=CoreBundle\Form\Type\User\UserType::class)
* )
* @SWG\Response(response=400, description="User Already exist")
* @SWG\Response(response=201, description="Particular successfully created")
*/
public function registerUserAction(Request $request)
{
$manager = $this->get('doctrine.orm.entity_manager');
$url = $request->headers->get('referer');
$referer = $url ? str_ireplace('www.', '', parse_url($url)['host']) : '';
/** @var FormFactory $formFactory */
$formFactory = $this->get('form.factory');
/** @var $userManager \FOS\UserBundle\Model\UserManagerInterface */
$userManager = $this->get('fos_user.user_manager');
/** @var $dispatcher \Symfony\Component\EventDispatcher\EventDispatcherInterface */
$dispatcher = $this->get('event_dispatcher');
/** @var User $user */
$user = $userManager->createUser();
$user->setEnabled(false);
$user->setRoles(['ROLE_User']);
$token = $this->get('fos_user.util.token_generator')->generateToken();
$user->setConfirmationToken($token);
$event = new GetResponseUserEvent($user, $request);
$dispatcher->dispatch(FOSUserEvents::REGISTRATION_INITIALIZE, $event);
if (null !== $event->getResponse()) {
return $event->getResponse();
}
/**
* @var FormInterface $form
*/
$form = $formFactory->create(UserType::class, null, [
'csrf_protection' => false,
]);
$form->setData($user);
$data = $request->request->all();
$form->submit($data);
$user->setUsername($user->getEmail());
/**
* @var UserRepository $userRepo
*/
$userRepo = $manager->getRepository(User::class);
$existUser = $userRepo->findOneBy(['email' => $user->getEmail()]);
if ($existUser) {
throw new \Exception(
'The specified user already exist',
Response::HTTP_BAD_REQUEST
);
}
if (!$form->isValid()) {
$event = new FormEvent($form, $request);
$dispatcher->dispatch(FOSUserEvents::REGISTRATION_FAILURE, $event);
if (null !== $response = $event->getResponse()) {
return $response;
}
return $form;
}
$event = new FormEvent($form, $request);
$dispatcher->dispatch(FOSUserEvents::REGISTRATION_SUCCESS, $event);
if ($event->getResponse()) {
return $event->getResponse();
}
$userManager->updateUser($user);
$token = $this->get('lexik_jwt_authentication.jwt_manager')->create($user);
$tokenType = $this->getParameter('jwt_type');
$expiresIn = $this->getParameter('jwt_token_ttl');
$date = new \DateTime();
$date->setTimeZone(new \DateTimeZone('UTC'));
$date->add(new \DateInterval('PT' . $expiresIn . 'S'));
$expiresAt = $date->format('Y-m-d\TH:i:s.\0\0\0\Z');
}
entité user
Pouvez-vous m'aider s'il vous plaît