Lines
90.00%
9 / 10
Methods
50.00%
1 / 2
Classes
0.00%
0 / 1
| 12 | final class FakeGoogleIdTokenVerifier implements GoogleIdTokenVerifierInterface | |
| 13 | { | |
| 14 | public static function token(string $googleId, string $email, bool $emailVerified = true, ?string $picture = null): string | |
| 15 | { | |
| 16 | return \implode('|', ['fake', $googleId, $email, $emailVerified ? 'verified' : 'unverified', ...(null === $picture ? [] : [$picture])]); | |
| 17 | } | |
| 18 | ||
| 19 | #[\Override] | |
| 20 | public function verify(string $idToken): ?array | |
| 21 | { | |
| 22 | $parts = \explode('|', $idToken); | |
| 23 | ||
| 24 | if (!\in_array(\count($parts), [4, 5], true) || 'fake' !== $parts[0]) { | |
| 25 | return null; | |
| 26 | } | |
| 27 | ||
| 28 | return [ | |
| 29 | 'sub' => $parts[1], | |
| 30 | 'email' => $parts[2], | |
| 31 | 'email_verified' => 'verified' === $parts[3], | |
| 32 | ...(isset($parts[4]) ? ['picture' => $parts[4]] : []), | |
| 33 | ]; | |
| 34 | } | |
| 35 | } |