The start of something beautiful
This commit is contained in:
+38
@@ -0,0 +1,38 @@
|
||||
<?php
|
||||
|
||||
namespace Lexik\Bundle\JWTAuthenticationBundle\TokenExtractor;
|
||||
|
||||
use Symfony\Component\HttpFoundation\Request;
|
||||
|
||||
/**
|
||||
* SplitCookieExtractor.
|
||||
*
|
||||
* @author Adam Lukacovic <adam@adamlukacovic.sk>
|
||||
*/
|
||||
class SplitCookieExtractor implements TokenExtractorInterface
|
||||
{
|
||||
private array $cookies;
|
||||
|
||||
public function __construct(array $cookies)
|
||||
{
|
||||
$this->cookies = $cookies;
|
||||
}
|
||||
|
||||
/**
|
||||
* {@inheritDoc}
|
||||
*/
|
||||
public function extract(Request $request)
|
||||
{
|
||||
$jwtCookies = [];
|
||||
|
||||
foreach ($this->cookies as $cookie) {
|
||||
$jwtCookies[] = $request->cookies->get($cookie, false);
|
||||
}
|
||||
|
||||
if (count($this->cookies) !== count(array_filter($jwtCookies))) {
|
||||
return false;
|
||||
}
|
||||
|
||||
return implode('.', $jwtCookies);
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user