42 lines
842 B
Perl
42 lines
842 B
Perl
package t::OidcHookPlugin;
|
|
|
|
use Mouse;
|
|
extends 'Lemonldap::NG::Portal::Main::Plugin';
|
|
|
|
use Lemonldap::NG::Portal::Main::Constants qw(PE_OK);
|
|
use Data::Dumper;
|
|
use Test::More;
|
|
|
|
use constant hook => {
|
|
oidcGenerateIDToken => 'addClaimToIDToken',
|
|
oidcGenerateUserInfoResponse => 'addClaimToUserInfo',
|
|
oidcGotRequest => 'addScopeToRequest',
|
|
};
|
|
|
|
sub init {
|
|
my ($self) = @_;
|
|
return 1;
|
|
}
|
|
|
|
sub addClaimToIDToken {
|
|
my ( $self, $req, $payload, $rp ) = @_;
|
|
$payload->{"id_token_hook"} = 1;
|
|
return PE_OK;
|
|
}
|
|
|
|
sub addClaimToUserInfo {
|
|
my ( $self, $req, $userinfo ) = @_;
|
|
$userinfo->{"userinfo_hook"} = 1;
|
|
return PE_OK;
|
|
}
|
|
|
|
sub addScopeToRequest {
|
|
my ( $self, $req, $oidc_request ) = @_;
|
|
$oidc_request->{scope} = $oidc_request->{scope} . " my_hooked_scope";
|
|
|
|
return PE_OK;
|
|
}
|
|
|
|
1;
|
|
|