joacub / goalio-forgotpassword
Adding Forgot Password functionalitiy to ZfcUser
Requires
README
Version 0.0.2 Created by the goalio UG (haftungsbeschränkt)
Introduction
A Zend Framework 2 (ZF2) Module offering forgot password via e-mail functionality to ZfcUser
Requirements
- Zend Framework 2 (latest master).
- ZfcBase (latest master).
- ZfcUser (latest master).
- GoalioMailService (latest master).
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:
"require": { "zf-commons/zfc-base": "dev-master", "zf-commons/zfc-user": "dev-master", "goalio/goalio-forgotpassword": "dev-master" }
-
Now tell composer to download ZfcUser by running the command:
$ php composer.phar update
Post installation
-
Enabling it in your
application.config.php
file.<?php return array( 'modules' => array( // ... 'ZfcBase', 'ZfcUser', 'GoalioForgotPassword' ), // ... );
-
Then Import the SQL schema located in
./vendor/goalio/goalio-rememberme/data/schema.sql
. -
Make sure that the MailService is configured correctly.
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
:<?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 will be a seperate module available to integrate with Doctrine soon.
Navigate to http://yourproject/user and you should land on a login page.
Options
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 isarray( '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.