1. Go to this page and download the library: Download php-solution/jwt-bundle library. Choose the download type require.
2. Extract the ZIP file and open the index.php.
3. Add this code to the index.php.
<?php
require_once('vendor/autoload.php');
/* Start to develop here. Best regards https://php-download.com/ */
php-solution / jwt-bundle example snippets
/**
* Class UserConfirm
*/
class UserConfirmController extends Controller
{
public function sendLinkAction(): Response
{
/* @var $token \Lcobucci\JWT\Token\Plain */
$token = $this->get('jwt.manager')->create('authorization', ['claim' => 'value']);
$jwtStr = $token->__toString();
}
public function confirmAction(string $token): Response
{
/* @var $token \Lcobucci\JWT\Token\Plain */
$token = $this->get('jwt.manager')->parse($token, 'authorization');
$userId = $token->claims()->get('user_id');
}
}
namespace App\Services\JwtType;
use Lcobucci\Clock\SystemClock;
use Lcobucci\JWT\Builder as BuilderInterface;
use Lcobucci\JWT\Configuration;
use Lcobucci\JWT\Validation\Constraint;
use PhpSolution\JwtBundle\Jwt\Type\TypeInterface;
/**
* Class UserConfirm
*/
class UserConfirm implements TypeInterface
{
private const EXP_TIME = 3600;
public const NAME = 'user_confirm_registration';
public function getName(): string
{
return self::NAME;
}
public function configureBuilder(BuilderInterface $builder): void
{
$builder->expiresAt(new \DateTimeImmutable('+' . self::EXP_TIME . 'second'));
}
public function getConstraints(Configuration $config):? iterable
{
yield new Constraint\SignedWith($config->getSigner(), $config->getVerificationKey());
yield new Constraint\ValidAt(new SystemClock());
}
}
use App\Services\JwtType\UserConfirm;
/**
* Class UserConfirm
*/
class UserConfirmController extends Controller
{
public function sendLinkAction(): Response
{
/* @var $token \Lcobucci\JWT\Token\Plain */
$token = $this->get('jwt.manager')->create(UserConfirm::NAME, ['user_id' => $userId]);
$jwtStr = $token->__toString();
}
public function confirmAction(string $token): Response
{
/* @var $token \Lcobucci\JWT\Token\Plain */
$token = $this->get('jwt.manager')->parse($token, UserConfirm::NAME);
$userId = $token->claims()->get('user_id');
}
}
Loading please wait ...
Before you can download the PHP files, the dependencies should be resolved. This can take some minutes. Please be patient.