Skip to content

Microservice things #206

@killua-eu

Description

@killua-eu
  • select an external authentication provider
  • select an external authorization provider (casbin)
  • prototype a micorservices proxy in glued and
  • find a sweet spot where to split core into code common for all php based microservices (code reuse) and code acting as a proxy (middleware, installer, etc.)
  • split off authentication into a separate microservice (and later replace it with something thats not written from scratch)
    • define what sql data is to be kept with current modules in order to keep data consistency
  • split off authorization into a separate microservice Auth works #207
  • standardize api responses accross non-php uS
  • dockerize the shit out of this

List of middlewares

$app->add(TwigMiddleware::createFromContainer($app));
$app->add(TranslatorMiddleware::class);
$app->add(LocaleSessionMiddleware::class);
$app->add(Timer::class); // adds time needed to generate a response to headers
$app->addBodyParsingMiddleware();
$app->addRoutingMiddleware();
$app->add($trailingSlash);
$app->add(\Glued\Core\Middleware\ValidationFormsMiddleware::class);
$app->add(new \Glued\Core\Middleware\TwigFlashMiddleware($container)); 
$app->add(new Middlewares\Csp($csp));
$app->add(new \Glued\Core\Middleware\TwigCspMiddleware($nonce, $container));
$app->add(new Tuupola\Middleware\CorsMiddleware); 
$app->add(new HeadersMiddleware($settings));
$app->add(new \Glued\Core\Middleware\AuthorizationMiddleware($container));
$app->add(new SessionMiddleware($settings));
$app->add(new Tuupola\Middleware\JwtAuthentication($settings['auth']['jwt']));
$app->add(new MethodOverrideMiddleware); // Add this before $app->addRoutingMiddleware();
$app->add(new Zeuxisoo\Whoops\Slim\WhoopsMiddleware([
$app->add($errorMiddleware);
RedirectGuests.php 
AntiXSSMiddleware.php
RedirectAuthenticated.php
RestrictGuests.php

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions