PHP code example of digitaldream / symfony-access-token
1. Go to this page and download the library: Download digitaldream/symfony-access-token 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/ */
digitaldream / symfony-access-token example snippets
namespace App\Controller
use AccessToken\Entity\AccessToken;
use AccessToken\Services\CreateAccessTokenService;
use AccessToken\Services\UserCredentialsRequest;
use Symfony\Component\HttpFoundation\Request;
class LoginController
{
public function __construct(private CreateAccessTokenService $accessTokenService) {}
public function login(Request $request):
{
//Write your logic
//@var AccessToken $accessToken
$accessToken= $this->accessTokenService->execute(new UserCredentialsRequest('[email protected]','YourPassword'))
}
}
class User implements UserInterface, PasswordAuthenticatedUserInterface, TokenUserInterface
{
public function isVerified(): ?bool
{
// return null if you don't have this functionality
return true;
}
public function isActive(): ?bool
{
// return null if you don't have this functionality
return true;
}
public function getUserIdentifierValue(): string
{
return $this->email;
}
public function getPublicId(): string
{
// It safe to use a UID (symfony UID) for generating JWT token. Do not expose your internal primary key
return (string)$this->id;
}
}
namespace App\Controller;
use AccessToken\Events\RevokeAccessTokensEvent;
use \Symfony\Component\EventDispatcher\EventDispatcherInterface;
class SomeController {
public function someAction(EventDispatcherInterface $dispatcher){
//Do something with the User. E.g block or inactive or subscription expired.
$dispatcher->dispatch(new RevokeAccessTokensEvent(1),RevokeAccessTokensEvent::NAME)
}
}
Loading please wait ...
Before you can download the PHP files, the dependencies should be resolved. This can take some minutes. Please be patient.