]> git.mxchange.org Git - friendica.git/blob - src/Security/TwoFactor/Factory/TrustedBrowser.php
Add trusted browser classes
[friendica.git] / src / Security / TwoFactor / Factory / TrustedBrowser.php
1 <?php
2
3 namespace Friendica\Security\TwoFactor\Factory;
4
5 use Friendica\BaseFactory;
6 use Friendica\Util\DateTimeFormat;
7 use Friendica\Util\Strings;
8
9 class TrustedBrowser extends BaseFactory
10 {
11         public function createForUserWithUserAgent($uid, $userAgent): \Friendica\Security\TwoFactor\Model\TrustedBrowser
12         {
13                 $trustedHash = Strings::getRandomHex();
14
15                 return new \Friendica\Security\TwoFactor\Model\TrustedBrowser(
16                         $trustedHash,
17                         $uid,
18                         $userAgent,
19                         DateTimeFormat::utcNow()
20                 );
21         }
22
23         public function createFromTableRow(array $row): \Friendica\Security\TwoFactor\Model\TrustedBrowser
24         {
25                 return new \Friendica\Security\TwoFactor\Model\TrustedBrowser(
26                         $row['cookie_hash'],
27                         $row['uid'],
28                         $row['user_agent'],
29                         $row['created'],
30                         $row['last_used']
31                 );
32         }
33 }