- WIP on ulmus-user mechanics updates

This commit is contained in:
Dave Mc Nicoll committed 2026-10-19 19:55:28 +00:00
1 parent 064d94d32a
commit 50b17ec8b6
8 files changed
+84 -22

No files matched your search

+8 -8
View File
@@ -2,16 +2,16 @@
use Lean\Factory\HttpFactoryInterface;
use Ulmus\User\{Authorize\HeaderAuthentication,
use Ulmus\User\{
Authorize\CookieAuthentication,
Authorize\HeaderAuthentication,
Entity,
Lib\Authenticate,
Lib\Authorize,
Middleware\AuthenticationMiddleware,
Middleware\HeaderAuthenticationMiddleware,
Middleware\CookieAuthenticationMiddleware,
Middleware\PostRequestAuthenticationMiddleware,
Middleware\LocalMacAddressMiddleware,
Authorize\MacAddressAuthentication,
Authorize\PostRequestAuthentication};
use Picea\Picea;
@@ -32,14 +32,14 @@ return [
HeaderAuthenticationMiddleware::class => create(HeaderAuthenticationMiddleware::class)->constructor(get(HeaderAuthentication::class)),
CookieAuthentication::class => autowire(CookieAuthentication::class),
CookieAuthenticationMiddleware::class => create(CookieAuthenticationMiddleware::class)->constructor(get(CookieAuthentication::class), get(Cookie::class)),
PostRequestAuthentication::class => create(PostRequestAuthentication::class)->constructor("email", "email", "password"),
PostRequestAuthenticationMiddleware::class => create(PostRequestAuthenticationMiddleware::class)->constructor(get(PostRequestAuthentication::class)),
MacAddressAuthentication::class => create(MacAddressAuthentication::class)->constructor(get(Authenticate::class), "mac"),
LocalMacAddressMiddleware::class => create(LocalMacAddressMiddleware::class)->constructor(get(Entity\UserInterface::class), get('authentication.error'), get(MacAddressAuthentication::class)),
'authentication.method' => null,
'authorize.error' => function(ContainerInterface $c) {
+19
View File
@@ -6,6 +6,9 @@ use Psr\Http\Message\ServerRequestInterface;
use Laminas\{ Diactoros\ServerRequestFactory, HttpHandlerRunner\Emitter\EmitterInterface, HttpHandlerRunner\Emitter\SapiEmitter };
use Lean\Factory\{ HttpFactory, HttpFactoryInterface };
use Picea\Picea;
use Storage\Cookie,
Storage\Session,
Storage\SessionMiddleware;
use function DI\autowire, DI\create, DI\get;
@@ -24,6 +27,22 @@ return [
HttpFactoryInterface::class => create(HttpFactory::class),
Cookie::class => create(Cookie::class)->constructor([
'secure' => true,
'path' => getenv('URL_BASE') ?: '/',
'httponly' => true,
'samesite'=> "Lax",
], getenv("LEAN_RANDOM")),
Session::class => create(Session::class)->constructor(get(Cookie::class), [ 'path' => getenv('URL_BASE') ?: '/', ]),
SessionMiddleware::class => create(SessionMiddleware::class)->constructor(get(Cookie::class), [
'name' => "lean_sess_" . substr(md5(getenv("LEAN_RANDOM")), 0, 12),
'path' => getenv('URL_BASE') ?: '/',
'samesite' => getenv("LEAN_COOKIE_SAMESITE") ?? "Lax",
'secure' => (bool) getenv('LEAN_COOKIE_SECURE') ?? false
]),
'error.401' => function(ContainerInterface $c, Picea $picea) {
return $c->get(HttpFactoryInterface::class)::createHtmlResponse($picea->renderHtml("lean/error/401", []), 401);
},
+1
View File
@@ -71,6 +71,7 @@ return [
$router->addPatternMatcher('email', '[^@ \t\r\n/]+@[^@ \t\r\n/]+\.[^@ \t\r\n/]+');
$router->addPatternMatcher('ids', '\b\d[\d,]*\b');
$routing = $container->get(Lean\Routing::class);
$routing->registerRoute($container, getenv('URL_BASE'));
-9
View File
@@ -6,9 +6,6 @@ use TheBugs\JavascriptMiddleware;
use Lean\Lean;
use Storage\Cookie,
Storage\Session,
Storage\SessionMiddleware;
use function DI\autowire, DI\create, DI\get, DI\add;
@@ -78,12 +75,6 @@ return [
JavascriptMiddleware::class => create(JavascriptMiddleware::class),
Cookie::class => create(Cookie::class)->constructor([ 'secure' => true, 'path' => getenv('URL_BASE') ?: '/', ], getenv("LEAN_RANDOM")),
Session::class => create(Session::class)->constructor(get(Cookie::class), [ 'path' => getenv('URL_BASE') ?: '/', ]),
SessionMiddleware::class => create(SessionMiddleware::class)->constructor(get(Cookie::class), [ 'name' => "lean_sess_" . substr(md5(getenv("LEAN_RANDOM")), 0, 12), 'path' => getenv('URL_BASE') ?: '/' ]),
'git.commit' => function($c) {
if ( getenv("DEBUG") ) {
return uniqid("debug_");