.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.16) .\" .\" Standard preamble: .\" ======================================================================== .de Sp \" Vertical space (when we can't use .PP) .if t .sp .5v .if n .sp .. .de Vb \" Begin verbatim text .ft CW .nf .ne \\$1 .. .de Ve \" End verbatim text .ft R .fi .. .\" Set up some character translations and predefined strings. \*(-- will .\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left .\" double quote, and \*(R" will give a right double quote. \*(C+ will .\" give a nicer C++. Capital omega is used to do unbreakable dashes and .\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff, .\" nothing in troff, for use with C<>. .tr \(*W- .ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p' .ie n \{\ . ds -- \(*W- . ds PI pi . if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch . if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch . ds L" "" . ds R" "" . ds C` "" . ds C' "" 'br\} .el\{\ . ds -- \|\(em\| . ds PI \(*p . ds L" `` . ds R" '' 'br\} .\" .\" Escape single quotes in literal strings from groff's Unicode transform. .ie \n(.g .ds Aq \(aq .el .ds Aq ' .\" .\" If the F register is turned on, we'll generate index entries on stderr for .\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index .\" entries marked with X<> in POD. Of course, you'll have to process the .\" output yourself in some meaningful fashion. .ie \nF \{\ . de IX . tm Index:\\$1\t\\n%\t"\\$2" .. . nr % 0 . rr F .\} .el \{\ . de IX .. .\} .\" .\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2). .\" Fear. Run. Save yourself. No user-serviceable parts. . \" fudge factors for nroff and troff .if n \{\ . ds #H 0 . ds #V .8m . ds #F .3m . ds #[ \f1 . ds #] \fP .\} .if t \{\ . ds #H ((1u-(\\\\n(.fu%2u))*.13m) . ds #V .6m . ds #F 0 . ds #[ \& . ds #] \& .\} . \" simple accents for nroff and troff .if n \{\ . ds ' \& . ds ` \& . ds ^ \& . ds , \& . ds ~ ~ . ds / .\} .if t \{\ . ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u" . ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u' . ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u' . ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u' . ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u' . ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u' .\} . \" troff and (daisy-wheel) nroff accents .ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V' .ds 8 \h'\*(#H'\(*b\h'-\*(#H' .ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#] .ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H' .ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u' .ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#] .ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#] .ds ae a\h'-(\w'a'u*4/10)'e .ds Ae A\h'-(\w'A'u*4/10)'E . \" corrections for vroff .if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u' .if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u' . \" for low resolution devices (crt and lpr) .if \n(.H>23 .if \n(.V>19 \ \{\ . ds : e . ds 8 ss . ds o a . ds d- d\h'-1'\(ga . ds D- D\h'-1'\(hy . ds th \o'bp' . ds Th \o'LP' . ds ae ae . ds Ae AE .\} .rm #[ #] #H #V #F C .\" ======================================================================== .\" .IX Title "Jifty::Plugin::Authentication::Password::Mixin::Model::User 3pm" .TH Jifty::Plugin::Authentication::Password::Mixin::Model::User 3pm "2010-12-10" "perl v5.14.2" "User Contributed Perl Documentation" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l .nh .SH "NAME" Jifty::Plugin::Authentication::Password::Mixin::Model::User \- password plugin user mixin model .SH "SYNOPSIS" .IX Header "SYNOPSIS" .Vb 5 \& 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 .Ve .SH "DESCRIPTION" .IX Header "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. .SH "SCHEMA" .IX Header "SCHEMA" This mixin adds the following columns to the model schema: .SS "auth_token" .IX Subsection "auth_token" This is a unique identifier used when confirming a user's email account and recovering a lost password. .SS "password" .IX Subsection "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. .SH "METHODS" .IX Header "METHODS" .SS "register_triggers" .IX Subsection "register_triggers" Adds the triggers to the model this mixin is added to. .SS "password_is \s-1PASSWORD\s0" .IX Subsection "password_is PASSWORD" Checks if the user's password matches the provided \fI\s-1PASSWORD\s0\fR. .SS "hashed_password_is \s-1HASH\s0 \s-1TOKEN\s0" .IX Subsection "hashed_password_is HASH TOKEN" Check if the given \fI\s-1HASH\s0\fR is the result of hashing our (already salted and hashed) password with \fI\s-1TOKEN\s0\fR. .PP 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). .SS "validate_password" .IX Subsection "validate_password" Makes sure that the password is six characters long or longer, unless we have alternative means to authenticate. .SS "after_create" .IX Subsection "after_create" This trigger is added to the account model. It automatically sends a notification email to the user for password confirmation. .PP See Jifty::Plugin::Authentication::Password::Notification::ConfirmEmail. .SS "has_alternative_auth" .IX Subsection "has_alternative_auth" If your model supports other means of authentication, you should have this method return true, so the \f(CW\*(C`password\*(C'\fR field can optionally be null and authentication with password is disabled in that case. .SS "after_set_password" .IX Subsection "after_set_password" Regenerate authentication tokens on password change .SS "regenerate_auth_token" .IX Subsection "regenerate_auth_token" Generate a new auth_token for this user. This will invalidate any existing feed URLs. .SH "SEE ALSO" .IX Header "SEE ALSO" Jifty::Plugin::Authentication::Password, Jifty::Plugin::User::Mixin::Model .SH "LICENSE" .IX Header "LICENSE" Jifty is Copyright 2005\-2010 Best Practical Solutions, \s-1LLC\s0. Jifty is distributed under the same terms as Perl itself.