From c2ec89753de948cd4d4e156efca548bf131acb15 Mon Sep 17 00:00:00 2001 From: Ivo Valchev Date: Fri, 8 Nov 2019 11:20:16 +0100 Subject: [PATCH] user friendly user agent --- composer.json | 1 + src/Security/LoginFormAuthenticator.php | 5 +++-- symfony.lock | 3 +++ 3 files changed, 7 insertions(+), 2 deletions(-) diff --git a/composer.json b/composer.json index 281336b9..37f92440 100644 --- a/composer.json +++ b/composer.json @@ -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" diff --git a/src/Security/LoginFormAuthenticator.php b/src/Security/LoginFormAuthenticator.php index 89667228..d7e03382 100644 --- a/src/Security/LoginFormAuthenticator.php +++ b/src/Security/LoginFormAuthenticator.php @@ -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); diff --git a/symfony.lock b/symfony.lock index f8a6db8e..063b3027 100644 --- a/symfony.lock +++ b/symfony.lock @@ -895,6 +895,9 @@ "twig/twig": { "version": "v2.4.4" }, + "ua-parser/uap-php": { + "version": "v3.9.2" + }, "webmozart/assert": { "version": "1.3.0" },