Load dynamic scopes from config (#2424)
This commit is contained in:
parent
8017725caa
commit
c30b452aa3
|
@ -38,6 +38,7 @@ has oidcRPList => ( is => 'rw', default => sub { {} }, );
|
||||||
has rpAttributes => ( is => 'rw', default => sub { {} }, );
|
has rpAttributes => ( is => 'rw', default => sub { {} }, );
|
||||||
has spRules => ( is => 'rw', default => sub { {} } );
|
has spRules => ( is => 'rw', default => sub { {} } );
|
||||||
has spMacros => ( is => 'rw', default => sub { {} } );
|
has spMacros => ( is => 'rw', default => sub { {} } );
|
||||||
|
has spScopeRules => ( is => 'rw', default => sub { {} } );
|
||||||
|
|
||||||
# return LWP::UserAgent object
|
# return LWP::UserAgent object
|
||||||
has ua => (
|
has ua => (
|
||||||
|
@ -149,6 +150,22 @@ sub loadRPs {
|
||||||
$self->spMacros->{$rp}->{$macroAttr} = $macroRule;
|
$self->spMacros->{$rp}->{$macroAttr} = $macroRule;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
# Load per-RP dynamic scopes
|
||||||
|
my $scopes = $self->conf->{oidcRPMetaDataScopeRules}->{$rp};
|
||||||
|
for my $scopeName ( keys %{$scopes} ) {
|
||||||
|
my $scopeRule = $scopes->{$scopeName};
|
||||||
|
if ( length $scopeRule ) {
|
||||||
|
$scopeRule = $self->p->HANDLER->substitute($scopeRule);
|
||||||
|
unless ( $scopeRule = $self->p->HANDLER->buildSub($scopeRule) )
|
||||||
|
{
|
||||||
|
$self->error( 'OIDC RP dynamic scope rule error: '
|
||||||
|
. $self->p->HANDLER->tsv->{jail}->error );
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
$self->spScopeRules->{$rp}->{$scopeName} = $scopeRule;
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue
Block a user