Skip to content

Commit 531befb

Browse files
committed
use PSR-7 for Xsrf
1 parent 27e307d commit 531befb

File tree

1 file changed

+6
-5
lines changed

1 file changed

+6
-5
lines changed

src/Tqdev/PhpCrudApi/Middleware/XsrfMiddleware.php

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -11,13 +11,14 @@
1111

1212
class XsrfMiddleware extends Middleware
1313
{
14-
private function getToken(): string
14+
private function getToken(ServerRequestInterface $request): string
1515
{
1616
$cookieName = $this->getProperty('cookieName', 'XSRF-TOKEN');
17-
if (isset($_COOKIE[$cookieName])) {
18-
$token = $_COOKIE[$cookieName];
17+
$cookieParams = $request->getCookieParams();
18+
if (isset($cookieParams[$cookieName])) {
19+
$token = $cookieParams[$cookieName];
1920
} else {
20-
$secure = isset($_SERVER['HTTPS']) && $_SERVER['HTTPS'] == 'on';
21+
$secure = $request->getUri()->getScheme() == 'https';
2122
$token = bin2hex(random_bytes(8));
2223
if (!headers_sent()) {
2324
setcookie($cookieName, $token, 0, '/', '', $secure);
@@ -28,7 +29,7 @@ private function getToken(): string
2829

2930
public function process(ServerRequestInterface $request, RequestHandlerInterface $next): ResponseInterface
3031
{
31-
$token = $this->getToken();
32+
$token = $this->getToken($request);
3233
$method = $request->getMethod();
3334
$excludeMethods = $this->getArrayProperty('excludeMethods', 'OPTIONS,GET');
3435
if (!in_array($method, $excludeMethods)) {

0 commit comments

Comments
 (0)