Keep configured auth transports when faking an actor (#91)

Assisted-By: Claude Fable 5.1
Co-authored-by: roxblnfk <roxblnfk@ya.ru>
This commit is contained in:
dualfrozandroxblnfk committed 2026-09-21 18:30:28 +04:00
1 parent fdcc6b7728
commit 0171b86dd8
4 files changed
+176 -3

No files matched your search

@@ -0,0 +1,26 @@
<?php
declare(strict_types=1);
namespace Spiral\Testing\Tests\Http\Stub;
use Nyholm\Psr7\Response;
use Psr\Http\Message\ResponseInterface;
use Psr\Http\Message\ServerRequestInterface;
use Psr\Http\Server\MiddlewareInterface;
use Psr\Http\Server\RequestHandlerInterface;
use Spiral\Auth\AuthContextInterface;
use Spiral\Auth\Middleware\AuthMiddleware;
final class ActorReportingMiddleware implements MiddlewareInterface
{
public const NO_ACTOR = 'guest';
public function process(ServerRequestInterface $request, RequestHandlerInterface $handler): ResponseInterface
{
$context = $request->getAttribute(AuthMiddleware::ATTRIBUTE);
$actor = $context instanceof AuthContextInterface ? $context->getActor() : null;
return new Response(200, body: $actor === null ? self::NO_ACTOR : $actor::class);
}
}