Version 1.0.0 Created by the goalio UG (haftungsbeschränkt)
A Zend Framework 2 (ZF2) Module offering forgot password via e-mail functionality to ZfcUser
I developed this module to use in our goalio application. There are currently no tests and support can be a little slow because we are a small company with only two developers. I appreciate any feedback, pull requests are even better.
- Zend Framework 2 (latest master).
- ZfcBase (latest master).
- ZfcUser (latest master).
- GoalioMailService (latest master).
- Add pluggable behaviour to request a password reset [COMPLETE]
- Provide updated login view [COMPLETE]
-
Add this project and the requirements in your composer.json:
"require": { "goalio/goalio-forgotpassword": "1.*" }
-
Now tell composer to download GoalioForgotPassword by running the command:
$ php composer.phar update
-
Enabling it in your
application.config.php
file.<?php return array( 'modules' => array( // ... 'ZfcBase', 'ZfcUser', 'GoalioMailService', 'GoalioForgotPassword' ), // ... );
-
Then Import the SQL schema located in
./vendor/goalio/goalio-forgotpassword/data/schema.sql
. -
Make sure that the MailService is configured correctly.
-
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
:<?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'], )); }, ), ), );
There is an additional module for Doctrine integration GoalioForgotPasswordORM
Navigate to http://yourproject/user and you should land on a login page.
The ForgotPassword module has some options to allow you to quickly customize the basic
functionality. After installing, copy
./vendor/goalio/goalio-forgotpassword/config/goalioforgotpassword.global.php.dist
to
./config/autoload/goalioforgotpassword.global.php
and change the values as desired.
The following options are available:
- password_entity_class - Name of Entity class to use. Useful for using your own
entity class instead of the default one provided. Default is
GoalioRememberMe\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', )
.
Daniel Strøm (https://github.com/Danielss89) for most of the basic work in the cookie adapter etc.