Update manager part of Auth::CAS (#1183)

environments/ppa-mbqj77/deployments/1
Xavier Guimard 8 years ago
parent cc5effc5e8
commit 380c3fec6b
  1. 2
      lemonldap-ng-common/lib/Lemonldap/NG/Common/Conf/RESTServer.pm
  2. 2
      lemonldap-ng-common/lib/Lemonldap/NG/Common/Conf/ReConstants.pm
  3. 6
      lemonldap-ng-manager/lib/Lemonldap/NG/Manager/Attributes.pm
  4. 18
      lemonldap-ng-manager/lib/Lemonldap/NG/Manager/Conf/Parser.pm
  5. 10
      lemonldap-ng-manager/site/htdocs/static/js/conftree.js
  6. 2
      lemonldap-ng-manager/site/htdocs/static/js/conftree.min.js

@ -475,7 +475,7 @@ sub _casMetaDataNodes {
# Return all exported attributes if asked
if ( $query =~
/^(?:cas${type}MetaDataExportedVars)$/
/^(?:cas${type}MetaDataExportedVars|casSrvMetaDataOptionsProxiedServices)$/
)
{
my $pk = eval { $self->getConfKey( $req, $query )->{$partner} } // {};

@ -25,7 +25,7 @@ our $doubleHashKeys = 'issuerDBGetParameters';
our $simpleHashKeys = '(?:(?:l(?:o(?:calSessionStorageOption|goutService)|dapExportedVar|wp(?:Ssl)?Opt)|c(?:as(?:StorageOption|Attribute)|ustomAddParam|ombModule)|(?:(?:d(?:emo|bi)|facebook|webID)E|e)xportedVar|g(?:r(?:antSessionRule|oup)|lobalStorageOption)|n(?:otificationStorageOption|ginxCustomHandler)|p(?:ersistentStorageOption|ortalSkinRule)|re(?:moteGlobalStorageOption|loadUrl)|macro)s|o(?:idcS(?:erviceMetaDataAuthnContext|torageOptions)|penIdExportedVars)|s(?:(?:amlStorageOption|laveExportedVar)s|essionDataToRemember)|a(?:uthChoiceModules|pplicationList)|S(?:MTPTLSOpts|SLVarIf))';
our $specialNodeKeys = '(?:(?:(?:saml(?:ID|S)|oidc[OR])P|cas(?:App|Srv))MetaDataNode|virtualHost)s';
our $casAppMetaDataNodeKeys = 'casAppMetaData(?:OptionsService|ExportedVars)';
our $casSrvMetaDataNodeKeys = 'casSrvMetaData(?:Options(?:ProxiedServices|Gateway|Renew|Url)|ExportedVars)';
our $casSrvMetaDataNodeKeys = 'casSrvMetaData(?:Options(?:ProxiedServices|DisplayName|Gateway|Renew|Icon|Url)|ExportedVars)';
our $oidcOPMetaDataNodeKeys = 'oidcOPMetaData(?:Options(?:C(?:lient(?:Secret|ID)|heckJWTSignature|onfigurationURI)|TokenEndpointAuthMethod|(?:JWKSTimeou|Promp)t|I(?:DTokenMaxAge|con)|S(?:toreIDToken|cope)|U(?:iLocales|seNonce)|Display(?:Name)?|AcrValues|MaxAge)|ExportedVars|J(?:SON|WKS))';
our $oidcRPMetaDataNodeKeys = 'oidcRPMetaData(?:Options(?:I(?:DToken(?:Expiration|SignAlg)|con)|Logout(?:SessionRequired|Type|Url)|AccessTokenExpiration|R(?:edirectUris|ule)|Client(?:Secret|ID)|BypassConsent|DisplayName|ExtraClaims|UserIDAttr)|ExportedVars)';
our $samlIDPMetaDataNodeKeys = 'samlIDPMetaData(?:Options(?:(?:Check(?:S[LS]OMessageSignatur|Audienc|Tim)|EncryptionMod|IsPassiv)e|A(?:llow(?:LoginFromIDP|ProxiedAuthn)|daptSessionUtime)|Re(?:questedAuthnContext|solutionRule|layStateURL)|S(?:ignS[LS]OMessage|toreSAMLToken|[LS]OBinding)|Force(?:Authn|UTF8)|NameIDFormat)|ExportedAttributes|XML)';

@ -667,9 +667,15 @@ sub attributes {
'casSrvMetaDataOptions' => {
'type' => 'subContainer'
},
'casSrvMetaDataOptionsDisplayName' => {
'type' => 'text'
},
'casSrvMetaDataOptionsGateway' => {
'type' => 'bool'
},
'casSrvMetaDataOptionsIcon' => {
'type' => 'text'
},
'casSrvMetaDataOptionsProxiedServices' => {
'keyMsgFail' => '__badCasProxyId__',
'keyTest' => qr/^\w+$/,

@ -456,7 +456,23 @@ sub _scanNodes {
elsif ( $target =~ /^cas(?:Srv|App)MetaDataOptions/ ) {
my $optKey = $&;
hdebug " $base sub key: $target";
if ( $target =~
if ( $target eq 'casSrvMetaDataOptionsProxiedServices' ) {
if ( $leaf->{cnodes} ) {
hdebug(' unopened');
$self->newConf->{$target}->{$key} =
$self->refConf->{$target}->{$oldName} // {};
}
elsif ($h) {
hdebug(' opened');
$self->set( $target, $key, $leaf->{title},
$leaf->{data} );
}
else {
hdebug(" $target: looking for subnodes");
$self->_scanNodes($subNodes);
}
}
elsif ( $target =~
/^(?:$casSrvMetaDataNodeKeys|$casAppMetaDataNodeKeys)/o )
{
$self->set( $optKey, [ $oldName, $key ],

@ -75,6 +75,16 @@ function templates(tpl,key) {
"id" : tpl+"s/"+key+"/"+"casSrvMetaDataOptionsProxiedServices",
"title" : "casSrvMetaDataOptionsProxiedServices",
"type" : "keyTextContainer"
},
{
"get" : tpl+"s/"+key+"/"+"casSrvMetaDataOptionsDisplayName",
"id" : tpl+"s/"+key+"/"+"casSrvMetaDataOptionsDisplayName",
"title" : "casSrvMetaDataOptionsDisplayName"
},
{
"get" : tpl+"s/"+key+"/"+"casSrvMetaDataOptionsIcon",
"id" : tpl+"s/"+key+"/"+"casSrvMetaDataOptionsIcon",
"title" : "casSrvMetaDataOptionsIcon"
}
],
"id" : "casSrvMetaDataOptions",

File diff suppressed because one or more lines are too long
Loading…
Cancel
Save