ForgotPassword
Version 0.1.3 Created by Finbarr, (*1)
Introduction
A Zend Framework 2 (ZF2) Module offering forgot password via e-mail functionality to ZfcUser, (*2)
Requirements
Features / Goals
- Add pluggable behaviour to request a password reset [COMPLETE]
- Provide updated login view [COMPLETE]
Installation
Main Setup
With composer
-
Add this project and the requirements in your composer.json:, (*3)
"require": {
"finbarrmccarthy/forgotpassword": "0.*"
}
-
Now tell composer to download ZfcUser by running the command:, (*4)
$ php composer.phar update
Post installation
-
Enabling it in your application.config.phpfile., (*5)
<?php
return array(
'modules' => array(
// ...
'ZfcBase',
'ZfcUser',
'MailService',
'ForgotPassword'
),
// ...
);
-
Then Import the SQL schema located in ./vendor/finbarrmccarthy/forgotpassword/data/schema.sql., (*6)
-
Make sure that the MailService is configured correctly., (*7)
Post-Install: Zend\Db
-
If you do not already have a valid Zend\Db\Adapter\Adapter in your service
manager configuration, put the following in ./config/autoload/database.local.php:, (*8)
<?php
$dbParams = array(
'database' => 'changeme',
'username' => 'changeme',
'password' => 'changeme',
'hostname' => 'changeme',
);
return array(
'service_manager' => array(
'factories' => array(
'Zend\Db\Adapter\Adapter' => function ($sm) use ($dbParams) {
return new Zend\Db\Adapter\Adapter(array(
'driver' => 'pdo',
'dsn' => 'mysql:dbname='.$dbParams['database'].';host='.$dbParams['hostname'],
'database' => $dbParams['database'],
'username' => $dbParams['username'],
'password' => $dbParams['password'],
'hostname' => $dbParams['hostname'],
));
},
),
),
);
Post-Install: Doctrine2 ORM
There is an additional module for Doctrine integration ForgotPasswordORM, (*9)
Usage
Navigate to http://yourproject/user and you should land on a login page., (*10)
Options
The ForgotPassword module has some options to allow you to quickly customize the basic
functionality. After installing, copy
./vendor/finbarrmccarthy/forgotpassword/config/forgotpassword.global.php.dist to
./config/autoload/forgotpassword.global.php and change the values as desired., (*11)
The following options are available:, (*12)
-
password_entity_class - Name of Entity class to use. Useful for using your own
entity class instead of the default one provided. Default is
RememberMe\Entity\RememberMe.
-
reset_expire - Integer value in seconds when the login cookie should expire.
Default is
86400 (24 hours).
-
email_transport - String value which transport class to use.
Default is
Zend\Mail\Transport\Sendmail.
-
reset_email_subject_line - String value which transport class to use.
Default is
You requested to reset your password.
-
email_from_address - Array
Default is
array(
'email' => 'your_email_address@here.com',
'name' => 'Your name',
).
Acknowledgements
Daniel Strøm (https://github.com/Danielss89)
for most of the basic work in the cookie adapter etc., (*13)