---
name: "Jifty::Plugin::Authentication::Password::Mixin::Model::User"
section: "3pm"
platform: "linux"
package: "libjifty-perl"
version: "1.10518+dfsg-2"
release: "Debian 7 (Wheezy)"
platforms: ["linux"]
url: "https://new.carta.tech/Jifty::Plugin::Authentication::Password::Mixin::Model::User"
---

# Jifty::Plugin::Authentication::Password::Mixin::Model::User(3pm)

password plugin user mixin model

## NAME

Jifty::Plugin::Authentication::Password::Mixin::Model::User - password plugin user mixin model

## SYNOPSIS

```
  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
```

## DESCRIPTION

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.

## SCHEMA

This mixin adds the following columns to the model schema:

### auth\_token

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

### 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.

## METHODS

### register\_triggers

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).

### validate\_password

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

### after\_create

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.

### has\_alternative\_auth

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.

### after\_set\_password

Regenerate authentication tokens on password change

### regenerate\_auth\_token

Generate a new auth\_token for this user. This will invalidate any existing feed URLs.

## SEE ALSO

Jifty::Plugin::Authentication::Password, Jifty::Plugin::User::Mixin::Model

## LICENSE

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