X-Git-Url: http://git.ieval.ro/?a=blobdiff_plain;f=lib%2FGruntmaster%2FData%2FResult%2FUser.pm;h=35c6675519435f103ac047c76d968978238b9eec;hb=54bc1dffe205d7d3514dacd57a661a110b83943f;hp=f961af915c18a8c6ea47b64c050e826663a9bb4c;hpb=a78c65b6368d9f4a4598a9cb2c7820a29d38747e;p=gruntmaster-data.git diff --git a/lib/Gruntmaster/Data/Result/User.pm b/lib/Gruntmaster/Data/Result/User.pm index f961af9..35c6675 100644 --- a/lib/Gruntmaster/Data/Result/User.pm +++ b/lib/Gruntmaster/Data/Result/User.pm @@ -236,7 +236,9 @@ __PACKAGE__->has_many( # Created by DBIx::Class::Schema::Loader v0.07042 @ 2015-02-10 18:42:04 # DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:L/ExLdA0pkJ1DeM+RzlDjw +use Bytes::Random::Secure qw/random_bytes/; use Class::Method::Modifiers qw/after/; +use Digest::SHA qw/hmac_sha1_base64/; after qw/insert update delete/ => sub { my ($self) = @_; @@ -261,6 +263,15 @@ sub set_passphrase { )->as_rfc2307}); } +my $hmackey = $ENV{GRUNTMASTER_HMAC_KEY}; + +sub make_reset_hmac { + my ($self, $expire) = @_; + $expire //= time + 60 * 60; + $hmackey //= random_bytes 512; + hmac_sha1_base64 $self->id . " $expire " . $self->passphrase, $hmackey; +} + 1; __END__