Diff
Index: TwoFactorAuth.php
--- TwoFactorAuth.php (nonexistent)
+++ TwoFactorAuth.php (revision 4)
@@ -0,0 +1,38 @@
+<?php
+declare(strict_types = 1);
+
+namespace App\HttpControllers\Webapp;
+
+use Apex\Svc\Container;
+use Apex\Armor\Auth\TwoFactor\TwoFactorEmail;
+use Nyholm\Psr7\Response;
+use Psr\Http\Message{ServerRequestInterface, ResponseInterface};
+use Psr\Http\Server{MiddlewareInterface, RequestHandlerInterface};
+
+/**
+ * Http Controller - ~alias~
+ */
+class TwoFactorAuth implements MiddlewareInterface
+{
+
+ #[Inject(Container::class)]
+ private Container $cntr;
+
+ /**
+ * Process request
+ */
+ public function process(ServerRequestInterface $request, RequestHandlerInterface $app): ResponseInterface
+ {
+
+ // Verify
+ $hash = $app->pathParam('hash');
+ $client = $this->cntr->make(TwoFactorEmail::class);
+ $client->verify($hash);
+
+ // Return
+ return new Response(200, [], "Authorized, but this shouldn't happen. Where did the page go?");
+ }
+
+}
+
+
Full Code
<?php
declare(strict_types = 1);
namespace App\HttpControllers\Webapp;
use Apex\Svc\Container;
use Apex\Armor\Auth\TwoFactor\TwoFactorEmail;
use Nyholm\Psr7\Response;
use Psr\Http\Message{ServerRequestInterface, ResponseInterface};
use Psr\Http\Server{MiddlewareInterface, RequestHandlerInterface};
/**
* Http Controller - ~alias~
*/
class TwoFactorAuth implements MiddlewareInterface
{
#[Inject(Container::class)]
private Container $cntr;
/**
* Process request
*/
public function process(ServerRequestInterface $request, RequestHandlerInterface $app): ResponseInterface
{
// Verify
$hash = $app->pathParam('hash');
$client = $this->cntr->make(TwoFactorEmail::class);
$client->verify($hash);
// Return
return new Response(200, [], "Authorized, but this shouldn't happen. Where did the page go?");
}
}