Adding Forgot Password functionalitiy to ZfcUser

1.0.2 2014-05-26 07:07 UTC

This package is not auto-updated.

Last update: 2024-05-25 18:03:11 UTC


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.


Features / Goals

  • Add pluggable behaviour to request a password reset [COMPLETE]
  • Provide updated login view [COMPLETE]


Main Setup

With composer

  1. Add this project and the requirements in your composer.json:

    "require": {
        "goalio/goalio-forgotpassword": "1.*"
  2. Now tell composer to download GoalioForgotPassword by running the command:

    $ php composer.phar update

Post installation

  1. Enabling it in your application.config.phpfile.

    return array(
        'modules' => array(
            // ...
        // ...
  2. Then Import the SQL schema located in ./vendor/goalio/goalio-forgotpassword/data/schema.sql.

  3. Make sure that the MailService is configured correctly.

Post-Install: Zend\Db

  1. 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:

     $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 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/ to ./config/autoload/ 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' => '', 'name' => 'Your name', ).


Daniel Strøm ( for most of the basic work in the cookie adapter etc.