-
Guillaume ROUSSE authoredGuillaume ROUSSE authored
account-manager.pl.in 11.86 KiB
#!/usr/bin/perl
use strict;
use warnings;
use utf8;
use lib qw(@modulesdir@);
use feature "switch";
no warnings 'experimental::smartmatch';
use Data::Dumper;
use English qw(-no_match_vars);
use Getopt::Long qw(:config auto_help);
use Log::Any::Adapter;
use Pod::Usage;
use IdPAccountManager::Data::AuthenticationToken;
use IdPAccountManager::Data::AuthenticationToken::Manager;
use IdPAccountManager::Data::ServiceProvider;
use IdPAccountManager::Data::ServiceProvider::Manager;
use IdPAccountManager::Data::TestAccount;
use IdPAccountManager::Data::TestAccount::Manager;
use IdPAccountManager::Configuration;
use IdPAccountManager::SAMLMetadata;
use IdPAccountManager::Tools;
my %options;
GetOptions(
\%options,
'account_profile=s',
'contacts=s',
'delete',
'displayname=s',
'email_address=s',
'filter_expired',
'sp_entityid=s',
'token=s',
) or pod2usage(
-message => "unknown option, aborting\n",
-verbose => 0
);
my $action = $ARGV[0];
pod2usage(
-message => "no action given, aborting\n",
-verbose => 0
) unless $action;
my $configuration = IdPAccountManager::Configuration->new(
file => '@sysconfdir@/manager.conf'
);
IdPAccountManager::DB->register_db(
driver => $configuration->{database_type},
database => $configuration->{database_name},
host => $configuration->{database_host},
password => $configuration->{database_password},
username => $configuration->{database_user}
);
my $db = IdPAccountManager::DB->new();
for ($action) {
when ('add_account') { add_account() }
when ('list_accounts') { list_accounts() }
when ('add_provider') { add_provider() }
when ('list_providers') { list_providers() }
when ('add_token') { add_token() }
when ('get_token') { get_token() }
when ('list_tokens') { list_tokens() }