Jifty::Plugin::Authentication::Password::Mixin::Model::User(3) password plugin user mixin model


package MyApp::Model::User;
use Jifty::DBI::Schema;
use MyApp::Record schema {
# custom column definitions
use Jifty::Plugin::User::Mixin::Model::User; # name, email, email_confirmed
use Jifty::Plugin::Authentication::Password::Mixin::Model::User;
# ^^ password, auth_token


This mixin model is added to the application's account model for use with the password authentication plugin. This mixin should be used in combination with Jifty::Plugin::User::Mixin::Model::User.


This mixin adds the following columns to the model schema:


This is a unique identifier used when confirming a user's email account and recovering a lost password.


This is the user's password. It will be stored in the database after being processed through Digest::MD5, so the password cannot be directly recovered from the database.



Adds the triggers to the model this mixin is added to.

password_is PASSWORD

Checks if the user's password matches the provided PASSWORD.

hashed_password_is HASH TOKEN

Check if the given HASH is the result of hashing our (already salted and hashed) password with TOKEN.

This can be used in cases where the pre-hashed password is sent during login as an additional security precaution (such as could be done via Javascript).


Makes sure that the password is six characters long or longer, unless we have alternative means to authenticate.


This trigger is added to the account model. It automatically sends a notification email to the user for password confirmation.

See Jifty::Plugin::Authentication::Password::Notification::ConfirmEmail.


If your model supports other means of authentication, you should have this method return true, so the "password" field can optionally be null and authentication with password is disabled in that case.


Regenerate authentication tokens on password change


Generate a new auth_token for this user. This will invalidate any existing feed URLs.


Jifty is Copyright 2005-2010 Best Practical Solutions, LLC. Jifty is distributed under the same terms as Perl itself.