Spit Remote and Proxy Auth cookie name parameter (#2613)

This commit is contained in:
Christophe Maudoux 2021-09-10 22:13:51 +02:00
parent 66946e8f75
commit 1901ef8232
20 changed files with 45 additions and 14 deletions

View File

@ -51,7 +51,7 @@ our $authParameters = {
oidcParams => [qw(oidcAuthnLevel oidcRPCallbackGetParam oidcRPStateTimeout)],
openidParams => [qw(openIdAuthnLevel openIdExportedVars openIdSecret openIdIDPList)],
pamParams => [qw(pamAuthnLevel pamService)],
proxyParams => [qw(proxyAuthnLevel proxyUseSoap proxyAuthService proxySessionService proxyAuthServiceChoiceParam proxyAuthServiceChoiceValue remoteCookieName proxyAuthServiceImpersonation)],
proxyParams => [qw(proxyAuthnLevel proxyUseSoap proxyAuthService proxySessionService proxyAuthServiceChoiceParam proxyAuthServiceChoiceValue proxyCookieName proxyAuthServiceImpersonation)],
radiusParams => [qw(radiusAuthnLevel radiusSecret radiusServer)],
remoteParams => [qw(remotePortal remoteCookieName remoteGlobalStorage remoteGlobalStorageOptions)],
restParams => [qw(restAuthnLevel restAuthUrl restUserDBUrl restPwdConfirmUrl restPwdModifyUrl)],

View File

@ -2997,6 +2997,11 @@ qr/(?:(?:https?):\/\/(?:(?:(?:(?:(?:(?:[a-zA-Z0-9][-a-zA-Z0-9]*)?[a-zA-Z0-9])[.]
'default' => 0,
'type' => 'bool'
},
'proxyCookieName' => {
'msgFail' => '__badCookieName__',
'test' => qr/^[a-zA-Z][a-zA-Z0-9_-]*$/,
'type' => 'text'
},
'proxySessionService' => {
'type' => 'text'
},
@ -3118,7 +3123,9 @@ qr/(?:(?:https?):\/\/(?:(?:(?:(?:(?:(?:[a-zA-Z0-9][-a-zA-Z0-9]*)?[a-zA-Z0-9])[.]
'type' => 'keyTextContainer'
},
'remoteCookieName' => {
'type' => 'text'
'msgFail' => '__badCookieName__',
'test' => qr/^[a-zA-Z][a-zA-Z0-9_-]*$/,
'type' => 'text'
},
'remoteGlobalStorage' => {
'default' => 'Lemonldap::NG::Common::Apache::Session::SOAP',

View File

@ -582,7 +582,7 @@ sub attributes {
newLocationWarning => {
default => 0,
type => 'bool',
documentation => 'Enable New Location Warning',
documentation => 'Enable New Location Warning',
},
newLocationWarningLocationAttribute => {
type => 'text',
@ -607,7 +607,7 @@ sub attributes {
type => 'longtext',
documentation => 'Mail body for new location warning',
},
newLocationWarningMailSubject=> {
newLocationWarningMailSubject => {
type => 'text',
documentation => 'Mail subject for new location warning',
},
@ -3636,6 +3636,13 @@ m{^(?:ldapi://[^/]*/?|\w[\w\-\.]*(?::\d{1,5})?|ldap(?:s|\+tls)?://\w[\w\-\.]*(?:
restPwdModifyUrl => { type => 'url' },
# Remote
remoteCookieName => {
type => 'text',
test => qr/^[a-zA-Z][a-zA-Z0-9_-]*$/,
msgFail => '__badCookieName__',
documentation => 'Name of the remote portal cookie',
flags => 'p',
},
remotePortal => { type => 'text', },
remoteGlobalStorage => {
type => 'PerlModule',
@ -3662,8 +3669,14 @@ m{^(?:ldapi://[^/]*/?|\w[\w\-\.]*(?::\d{1,5})?|ldap(?:s|\+tls)?://\w[\w\-\.]*(?:
default => 0,
documentation => 'Enable internal portal Impersonation',
},
remoteCookieName => { type => 'text', },
proxyUseSoap => {
proxyCookieName => {
type => 'text',
test => qr/^[a-zA-Z][a-zA-Z0-9_-]*$/,
msgFail => '__badCookieName__',
documentation => 'Name of the internal portal cookie',
flags => 'p',
},
proxyUseSoap => {
type => 'bool',
default => 0,
documentation => 'Use SOAP instead of REST',

View File

@ -378,7 +378,7 @@ sub tree {
'proxySessionService',
'proxyAuthServiceChoiceParam',
'proxyAuthServiceChoiceValue',
'remoteCookieName',
'proxyCookieName',
'proxyAuthServiceImpersonation',
]
}
@ -1061,7 +1061,7 @@ sub tree {
nodes => [
'newLocationWarning',
'newLocationWarningLocationAttribute',
'newLocationWarningLocationDisplayAttribute',
'newLocationWarningLocationDisplayAttribute',
'newLocationWarningMaxValues',
'newLocationWarningMailAttribute',
'newLocationWarningMailSubject',

View File

@ -826,6 +826,7 @@
"proxyAuthServiceChoiceValue":"Choice value",
"proxyAuthServiceImpersonation":"Impersonation",
"proxyAuthnLevel":"مستوى إثبات الهوية",
"proxyCookieName":"اسم ملف تعريف الارتباط",
"proxyInternalPortal":"Internal Portal",
"proxyParams":"معايير البروكسي",
"proxySessionService":"رابط اليورال لخدمة الجلسة",

View File

@ -826,6 +826,7 @@
"proxyAuthServiceChoiceValue":"Choice value",
"proxyAuthServiceImpersonation":"Impersonation",
"proxyAuthnLevel":"Authentication level",
"proxyCookieName":"Cookie name",
"proxyInternalPortal":"Internal Portal",
"proxyParams":"Proxy parameters",
"proxySessionService":"Session service URL",

View File

@ -826,6 +826,7 @@
"proxyAuthServiceChoiceValue":"Choice value",
"proxyAuthServiceImpersonation":"Impersonation",
"proxyAuthnLevel":"Authentication level",
"proxyCookieName":"Cookie name",
"proxyInternalPortal":"Internal Portal",
"proxyParams":"Proxy parameters",
"proxySessionService":"Session service URL",

View File

@ -826,6 +826,7 @@
"proxyAuthServiceChoiceValue":"Choice value",
"proxyAuthServiceImpersonation":"Impersonation",
"proxyAuthnLevel":"Nivel de autentificación",
"proxyCookieName":"Nombre de la cookie",
"proxyInternalPortal":"Internal Portal",
"proxyParams":"Parámetros del proxy",
"proxySessionService":"Session service URL",

View File

@ -826,6 +826,7 @@
"proxyAuthServiceChoiceValue":"Valeur du choix d'authentification",
"proxyAuthServiceImpersonation":"Simulation d'identité",
"proxyAuthnLevel":"Niveau d'authentification",
"proxyCookieName":"Nom du cookie",
"proxyInternalPortal":"Portail interne",
"proxyParams":"Paramètres Proxy",
"proxySessionService":"URL du service de session",

View File

@ -826,6 +826,7 @@
"proxyAuthServiceChoiceValue":"Choice value",
"proxyAuthServiceImpersonation":"Impersonation",
"proxyAuthnLevel":"Livello di autenticazione",
"proxyCookieName":"Nome del cookie",
"proxyInternalPortal":"Internal Portal",
"proxyParams":"Parametri Proxy",
"proxySessionService":"URL del servizio di sessione",

View File

@ -826,6 +826,7 @@
"proxyAuthServiceChoiceValue":"Choice value",
"proxyAuthServiceImpersonation":"Impersonation",
"proxyAuthnLevel":"Poziom uwierzytelnienia",
"proxyCookieName":"Nazwa ciasteczka",
"proxyInternalPortal":"Internal Portal",
"proxyParams":"Parametry proxy",
"proxySessionService":"Adres URL usługi sesji",

View File

@ -826,6 +826,7 @@
"proxyAuthServiceChoiceValue":"Choice value",
"proxyAuthServiceImpersonation":"Impersonation",
"proxyAuthnLevel":"Doğrulama seviyesi",
"proxyCookieName":"Çerez adı",
"proxyInternalPortal":"Internal Portal",
"proxyParams":"Proxy parametreleri",
"proxySessionService":"Oturum servis URL'si",

View File

@ -826,6 +826,7 @@
"proxyAuthServiceChoiceValue":"Choice value",
"proxyAuthServiceImpersonation":"Impersonation",
"proxyAuthnLevel":"Mức xác thực",
"proxyCookieName":"Tên cookie",
"proxyInternalPortal":"Internal Portal",
"proxyParams":"Các tham số proxy",
"proxySessionService":"URL dịch vụ phiên",

View File

@ -826,6 +826,7 @@
"proxyAuthServiceChoiceValue":"Choice value",
"proxyAuthServiceImpersonation":"Impersonation",
"proxyAuthnLevel":"认证等级",
"proxyCookieName":"Cookie 名称",
"proxyInternalPortal":"Internal Portal",
"proxyParams":"Proxy parameters",
"proxySessionService":"Session service URL",

View File

@ -826,6 +826,7 @@
"proxyAuthServiceChoiceValue":"Choice value",
"proxyAuthServiceImpersonation":"Impersonation",
"proxyAuthnLevel":"驗證等級",
"proxyCookieName":"Cookie 名稱",
"proxyInternalPortal":"Internal Portal",
"proxyParams":"代理伺服器參數",
"proxySessionService":"工作階段服務 URL",

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -40,7 +40,7 @@ sub init {
$self->sessionService($sessionService);
$self->ua( Lemonldap::NG::Common::UserAgent->new( $self->conf ) );
$self->ua->default_header( Accept => 'application/json' );
$self->cookieName( $self->conf->{remoteCookieName}
$self->cookieName( $self->conf->{proxyCookieName}
|| $self->conf->{cookieName} );
return 1;
@ -176,7 +176,7 @@ sub authLogout {
$self->userLogger->notice(
"User $user has been disconnected from internal Portal")
if $user;
return PE_OK;
}

View File

@ -41,7 +41,7 @@ sub init {
return 0;
}
$self->sessionService($sessionService);
$self->cookieName( $self->conf->{remoteCookieName}
$self->cookieName( $self->conf->{proxyCookieName}
|| $self->conf->{cookieName} );
return 1;

View File

@ -16,7 +16,7 @@ my $client = LLNG::Manager::Test->new( {
proxyAuthService => 'http://auth.example.com',
proxyAuthServiceChoiceParam => 'lmAuth',
proxyAuthServiceChoiceValue => '2_Password',
remoteCookieName => 'lemonldap',
proxyCookieName => 'lemonldap',
proxyAuthServiceImpersonation => 1
}
}