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:
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);
|
||||
}
|
||||
}
|
||||
Reference in new issue
Block a user