Commit e0065dca authored by Bertrand Gauthier's avatar Bertrand Gauthier
Browse files

Merge branch 'feature_flux_diplomation' into test

parents e7a731d1 f7ca7904
Loading
Loading
Loading
Loading
+81 −0
Original line number Diff line number Diff line
@@ -5,9 +5,14 @@

namespace Application;

use Eljam\GuzzleJwt\Persistence\SimpleCacheTokenPersistence;
use Fichier\Service\Storage\Adapter\FilesystemStorageAdapter;
use Fichier\Service\Storage\Adapter\S3StorageAdapter;
use GuzzleHttp\Client as RestClient;
use Laminas\Mail\Transport\Smtp;
use UnicaenApi\ClientMiddleware\Jwt\JwtMiddleware;
use UnicaenPegaseCocExtApi\Api\JwtMiddlewareAuthStrategy;
use UnicaenPegaseCocExtApi\Api\JwtMiddlewareFactory;

return [
    // Imports et synchros (unicaen/db-import)
@@ -48,6 +53,82 @@ return [
        ],
    ],

    'unicaen-api' => [
        /**
         * Config des clients d'API.
         * @see \UnicaenApi\ApiClientPluginManager
         */
        'api_clients' => [
            'clients' => [
                // Nom unique du client => config
                'diplomation_api_client' => [
                    // Classe du client HTTP
                    'class' => RestClient::class,
                    // Options
                    'options' => [
                        // Options standards
                        'base_uri' => 'https://pegase.domain.fr/api/coc/ext/v1',
                        'proxy' => false, // ['no' => 'localhost']
                        'verify' => false,
                        //'allow_redirects' => false,
                        'timeout' => 10,
                        'debug' => true,
                        'debug_file' => '/tmp/debug_curl.log',

                        // Taille maxi du corps des messages d'erreurs reçus
                        'http_errors_truncate_at' => 1500,

                        // Middlewares Guzzle éventuels (https://docs.guzzlephp.org/en/stable/handlers-and-middleware.html)
                        'middlewares' => [
                            'jwt_middleware',
                        ],
                    ],
                ],
            ],
        ],
        'api_client_middlewares' => [
            'factories' => [
                JwtMiddleware::class => JwtMiddlewareFactory::class, // substitution nécessaire
            ],
            'middlewares' => [
                'jwt_middleware' => [
                    'class' => JwtMiddleware::class,
                    'options' => [
                        'base_uri' => 'https://auth.domain.fr',
                        'token_url' => '/cas/v1/tickets',
                        'username' => 'xxxxx',
                        'password' => 'xxxxx',
                        'auth_strategy' => JwtMiddlewareAuthStrategy::class, // auth strategy qui ajoute "token=true"
                        'persistence_strategy' => SimpleCacheTokenPersistence::class,
                    ],
                ],
            ],
        ],
    ],

    'caches' => [
        /**
         * Cache utilisé pour persister les tokens JWT et éviter ainsi qu'un nouveau token soit demandé avant chaque appel d'API.
         */
        'jwt_middleware_token_persistence_cache' => [
            'options' => [
                'ttl' => 60*60, // 1h
                'cache_dir' => __DIR__ . '/../../data/cache',
            ],
        ],
    ],

    'unicaen-pegase-coc-ext-api' => [
        // codes des types de résultats (cf. API Pégase "REF-Référentiel", /parametrage/TypeResultat)
        'codes_types_resultats' => [
            'ADMIS' => 'TRE001',
            'AJOURNE' => 'TRE002',
            'VALIDE' => 'TRE009',
            'NON_VALIDE' => 'TRE010',
            'CESURE' => 'TRE013',
        ],
    ],

    'fichier' => [
        'storage' => [
            'adapters' => [
+0 −4
Original line number Diff line number Diff line

Vider le cache :

$ vendor/bin/laminas privilege:clear-cache --key 'privileges_roles'
 No newline at end of file
Loading