‪TYPO3CMS  ‪main
AccessClaim.php
Go to the documentation of this file.
1 <?php
2 
3 declare(strict_types=1);
4 
5 /*
6  * This file is part of the TYPO3 CMS project.
7  *
8  * It is free software; you can redistribute it and/or modify it under
9  * the terms of the GNU General Public License, either version 2
10  * of the License, or any later version.
11  *
12  * For the full copyright and license information, please read the
13  * LICENSE.txt file that was distributed with this source code.
14  *
15  * The TYPO3 project - inspiring people to share!
16  */
17 
19 
26 class ‪AccessClaim implements \JsonSerializable
27 {
28  public readonly string ‪$id;
29  public function ‪__construct(
30  public readonly ‪AccessSubjectInterface $subject,
31  public readonly ‪ServerRequestInstruction $instruction,
32  public readonly int $expiration,
33  string ‪$id = null,
34  ) {
35  $this->id = $id ?? bin2hex(random_bytes(20));
36  }
37 
38  public function ‪jsonSerialize(): array
39  {
40  return [
41  'subject' => $this->subject,
42  'instruction' => $this->instruction,
43  'expiration' => $this->expiration,
44  'id' => ‪$this->id,
45  ];
46  }
47 }
‪TYPO3\CMS\Backend\Security\SudoMode\Access\ServerRequestInstruction
Definition: ServerRequestInstruction.php:33
‪TYPO3\CMS\Backend\Security\SudoMode\Access\AccessClaim
Definition: AccessClaim.php:27
‪TYPO3\CMS\Backend\Security\SudoMode\Access
Definition: AccessClaim.php:18
‪TYPO3\CMS\Backend\Security\SudoMode\Access\AccessClaim\__construct
‪__construct(public readonly AccessSubjectInterface $subject, public readonly ServerRequestInstruction $instruction, public readonly int $expiration, string $id=null,)
Definition: AccessClaim.php:29
‪TYPO3\CMS\Backend\Security\SudoMode\Access\AccessSubjectInterface
Definition: AccessSubjectInterface.php:26
‪TYPO3\CMS\Backend\Security\SudoMode\Access\AccessClaim\jsonSerialize
‪jsonSerialize()
Definition: AccessClaim.php:38
‪TYPO3\CMS\Backend\Security\SudoMode\Access\AccessClaim\$id
‪readonly string $id
Definition: AccessClaim.php:28