-
renater.salaun authored
Renamed documentation files according to new service name git-svn-id: https://svn.geant.net/GEANT/edugain_testidp_account_manager/trunk@105 047e039d-479c-447e-8a29-aa6bf4a09bab
renater.salaun authoredRenamed documentation files according to new service name git-svn-id: https://svn.geant.net/GEANT/edugain_testidp_account_manager/trunk@105 047e039d-479c-447e-8a29-aa6bf4a09bab
TestAccount.pm 6.91 KiB
package IdPAccountManager::TestAccount;
## Copyright (c) GEANT
## This software was developed by RENATER. The research leading to these results has received funding
## from the European Community¹s Seventh Framework Programme (FP7/2007-2013) under grant agreement nº 238875 (GÉANT).
use strict;
use IdPAccountManager::Data::Testaccount;
use IdPAccountManager::Data::Testaccount::Manager;
use IdPAccountManager::Tools;
use Conf;
require Exporter;
my @ISA = qw(Exporter);
my @EXPORT = qw();
use Carp;
INIT {
## Set error mode to non fatal
IdPAccountManager::Data::Testaccount::Manager->error_mode('return');
}
sub new {
my ($pkg) = shift;
my %args = @_;
my $self = {};
## Bless Provider object
bless $self, $pkg;
## Object may be created either with a hashref as argument or an IdPAccountManager::Data::Testaccount object
## Second case is usefull when fetching a set of IdPAccountManager::Data::Testaccount via IdPAccountManager::Data::Testaccount::Manager
if (ref($_[0]) eq 'IdPAccountManager::Data::Testaccount') {
$self->{'persistent'} = $_[0];
}else {
$self->{'persistent'} = IdPAccountManager::Data::Testaccount->new(%args);
}
return $self;
}
sub get {
my $self = shift;
my $attribute_name = shift;
## User password is not stored in DB
if ($attribute_name eq 'user_password') {
return $self->{$attribute_name};
}else {
return $self->{'persistent'}->$attribute_name;
}
}
sub save {
my $self = shift;
## If no id is defined, it is a new account
unless (defined $self->{'persistent'}->id) {
$self->{'persistent'}->creation_date(time);
$self->{'persistent'}->expiration_date(time + ($Conf::global{'accounts_validity_period'} * 3600 * 24));
$self->{'user_password'} = &IdPAccountManager::Tools::generate_password();
$self->{'persistent'}->user_password_hash(&IdPAccountManager::Tools::sha256_hash($self->{'user_password'}));
}
unless ($self->{'persistent'}->save()) {