user friendly user agent

This commit is contained in:
Ivo Valchev
2019-11-08 11:20:16 +01:00
parent 548fbbd57d
commit c2ec89753d
3 changed files with 7 additions and 2 deletions

View File

@@ -59,6 +59,7 @@
"symfony/yaml": "^4.3",
"tightenco/collect": "^6.0",
"twig/extensions": "^1.5",
"ua-parser/uap-php": "^3.9",
"webmozart/path-util": "^2.3",
"webonyx/graphql-php": "^0.13",
"white-october/pagerfanta-bundle": "^1.2"

View File

@@ -20,6 +20,7 @@ use Symfony\Component\Security\Core\User\UserProviderInterface;
use Symfony\Component\Security\Csrf\CsrfToken;
use Symfony\Component\Security\Csrf\CsrfTokenManagerInterface;
use Symfony\Component\Security\Guard\Authenticator\AbstractFormLoginAuthenticator;
use UAParser\Parser;
class LoginFormAuthenticator extends AbstractFormLoginAuthenticator
{
@@ -104,10 +105,10 @@ class LoginFormAuthenticator extends AbstractFormLoginAuthenticator
$user->setLastseenAt(new \DateTime());
$user->setLastIp($request->getClientIp());
$useragent = $request->headers->get('User-Agent');
$parsedUserAgent = Parser::create()->parse($request->headers->get('User-Agent'))->toString();
$sessionLifetime = $request->getSession()->getMetadataBag()->getLifetime();
$expirationTime = (new \DateTime())->modify('+'.$sessionLifetime.' second');
$userAuthToken = UserAuthToken::factory($user, $useragent, $expirationTime);
$userAuthToken = UserAuthToken::factory($user, $parsedUserAgent, $expirationTime);
$user->setUserAuthToken($userAuthToken);
$this->em->persist($user);

View File

@@ -895,6 +895,9 @@
"twig/twig": {
"version": "v2.4.4"
},
"ua-parser/uap-php": {
"version": "v3.9.2"
},
"webmozart/assert": {
"version": "1.3.0"
},