documentation:2.1:handlerarch

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

documentation:2.1:handlerarch [2019/07/10 16:05] (current)
Line 1: Line 1:
 +====== Handler libraries architecture ======
  
 +Handlers are build on rows of modules:
 +
 +  * Applications or launchers that get the request and choose the right type //(Main, AuthBasic, ZimbraPreAuth,...)// and launch it //(may not inherits from other Handler::* modules)//
 +  * Wrappers that call "type" library and platform "Main" //(may all inherits from Platform::Main)//
 +  * library types if needed //(may inherits from Main)//
 +  * Main: the main handler library
 +
 +Since version 2.1, wrappers are autogenerated when undefined. Generated code is simply:
 +<code perl>
 +package Lemonldap::NG::Handler::Platform::Type;
 +use base 'Lemonldap::NG::Handler::Lib::Type',
 +  'Lemonldap::NG::Handler::Platform::Main';
 +1;
 +</code>
 +===== Overview of Handler packages =====
 +
 +^  Usage  ^  Platform  ^^  Wrapper  ^  Types  ^  Main  ^
 +^  :::  ^  Applications  ^  Launchers  ^  :::  ^  :::  ^  :::  ^
 +|  Apache2 protection  | |  ApacheMP2  |  ApacheMP2::<type>  |  Lib::<type>  |  Main  |
 +|  Plack servers protection or Nginx/[[SSOaaS]] FastCGI/uWSGI server  |  Server  ||  Server::<type>  |  :::  | ::: |
 +|  [[selfmadeapplication#perl_auto-protected_cgi|Self protected applications]]  |  PSGI  ||  PSGI::<type>  |  :::  | ::: |
 +
 +Types are:
 +  * //(Main)//: link between Main and platform
 +  * [[handlerauthbasic|AuthBasic]]
 +  * [[cda|CDA]]
 +  * [[devopshandler|DevOps]]
 +  * [[devopssthandler|DevOps+ServiceToken]]
 +  * [[oauth2handler|OAuth2]]
 +  * [[securetoken|SecureToken]] //(not available for PSGI)//
 +  * [[servertoserver|Service Token]] //(server to server)//
 +  * [[documentation:latest:applications:zimbra|ZimbraPreAuth]] //(not available for PSGI)//