From 13b1097304773018f45ab5dfe6127a2a4bff99ca Mon Sep 17 00:00:00 2001 From: Maxime Besson Date: Mon, 28 Dec 2020 15:45:21 +0100 Subject: [PATCH] Refactor SAML/CAS api to use value translation (#2318) --- .../Lemonldap/NG/Manager/Api/Providers/CasApp.pm | 13 +++++++++---- .../Lemonldap/NG/Manager/Api/Providers/SamlSp.pm | 13 +++++++++---- 2 files changed, 18 insertions(+), 8 deletions(-) diff --git a/lemonldap-ng-manager/lib/Lemonldap/NG/Manager/Api/Providers/CasApp.pm b/lemonldap-ng-manager/lib/Lemonldap/NG/Manager/Api/Providers/CasApp.pm index 3af2c3adf..47e80509a 100644 --- a/lemonldap-ng-manager/lib/Lemonldap/NG/Manager/Api/Providers/CasApp.pm +++ b/lemonldap-ng-manager/lib/Lemonldap/NG/Manager/Api/Providers/CasApp.pm @@ -266,8 +266,10 @@ sub _getCasAppByConfKey { for my $configOption ( keys %{ $conf->{casAppMetaDataOptions}->{$confKey} } ) { - $options->{ $self->_translateOptionConfToApi($configOption) } = - $conf->{casAppMetaDataOptions}->{$confKey}->{$configOption}; + my $optionName = $self->_translateOptionConfToApi($configOption); + my $optionValue = $self->_translateValueConfToApi( $configOption, + $conf->{casAppMetaDataOptions}->{$confKey}->{$configOption} ); + $options->{$optionName} = $optionValue; } return { @@ -326,8 +328,11 @@ sub _pushCasApp { if ( defined $push->{options} ) { foreach ( keys %{ $push->{options} } ) { - $translatedOptions->{ $self->_translateOptionApiToConf( $_, - 'casApp' ) } = $push->{options}->{$_}; + my $optionName = $self->_translateOptionApiToConf( $_, 'casApp' ); + my $optionValue = + $self->_translateValueApiToConf( $_, $push->{options}->{$_} ); + + $translatedOptions->{$optionName} = $optionValue; } my $res = $self->_hasAllowedAttributes( $translatedOptions, diff --git a/lemonldap-ng-manager/lib/Lemonldap/NG/Manager/Api/Providers/SamlSp.pm b/lemonldap-ng-manager/lib/Lemonldap/NG/Manager/Api/Providers/SamlSp.pm index d62cf655f..cbedc5617 100644 --- a/lemonldap-ng-manager/lib/Lemonldap/NG/Manager/Api/Providers/SamlSp.pm +++ b/lemonldap-ng-manager/lib/Lemonldap/NG/Manager/Api/Providers/SamlSp.pm @@ -255,8 +255,11 @@ sub _getSamlSpByConfKey { my $options = {}; for my $confOption ( keys %{ $conf->{samlSPMetaDataOptions}->{$confKey} } ) { - $options->{ $self->_translateOptionConfToApi($confOption) } = - $conf->{samlSPMetaDataOptions}->{$confKey}->{$confOption}; + my $optionName = $self->_translateOptionConfToApi($confOption); + my $optionValue = $self->_translateValueConfToApi( $confOption, + $conf->{samlSPMetaDataOptions}->{$confKey}->{$confOption} ); + + $options->{$optionName} = $optionValue; } # Get macros @@ -378,8 +381,10 @@ sub _pushSamlSp { if ( defined $push->{options} ) { foreach ( keys %{ $push->{options} } ) { - $translatedOptions->{ $self->_translateOptionApiToConf( $_, - 'samlSP' ) } = $push->{options}->{$_}; + my $optionName = $self->_translateOptionApiToConf( $_, 'samlSP' ); + my $optionValue = + $self->_translateValueApiToConf( $_, $push->{options}->{$_} ); + $translatedOptions->{$optionName} = $optionValue; } my $res = $self->_hasAllowedAttributes( $translatedOptions,