@@ -408,7 +408,7 @@ And here is the controller::
408408 // src/Controller/DiscoverController.php
409409 namespace App\Controller;
410410
411- use Lcobucci\JWT\Builder ;
411+ use Lcobucci\JWT\Configuration ;
412412 use Lcobucci\JWT\Signer\Hmac\Sha256;
413413 use Lcobucci\JWT\Signer\Key;
414414 use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
@@ -423,11 +423,14 @@ And here is the controller::
423423 {
424424 $hubUrl = $this->getParameter('mercure.default_hub');
425425 $this->addLink($request, new Link('mercure', $hubUrl));
426-
427- $token = (new Builder())
428- // set other appropriate JWT claims, such as an expiration date
426+
427+ $key = Key\InMemory::plainText('mercure_secret_key'); // don't forget to set this parameter! Test value: !ChangeMe!
428+ $configuration = Configuration::forSymmetricSigner(new Sha256(), $key);
429+
430+ $token = $configuration->builder()
429431 ->withClaim('mercure', ['subscribe' => ["http://example.com/books/1"]]) // can also be a URI template, or *
430- ->getToken(new Sha256(), new Key($this->getParameter('mercure_secret_key'))); // don't forget to set this parameter! Test value: !ChangeMe!
432+ ->getToken($configuration->signer(), $configuration->signingKey())
433+ ->toString();
431434
432435 $response = $this->json(['@id' => '/demo/books/1', 'availability' => 'https://schema.org/InStock']);
433436 $cookie = Cookie::create('mercureAuthorization')
0 commit comments