finbarrmccarthy / forgotpassword
Adding Forgot Password functionalitiy to ZfcUser (Custom)
Requires
- php: >=5.3.3
- finbarrmccarthy/mailservice: dev-master
- zendframework/zendframework: 2.*
- zf-commons/zfc-base: 0.*
- zf-commons/zfc-user: 0.*
This package is not auto-updated.
Last update: 2024-11-09 16:06:41 UTC
README
Version 0.1.3 Created by Finbarr
Introduction
A Zend Framework 2 (ZF2) Module offering forgot password via e-mail functionality to ZfcUser
Information
Requirements
- Zend Framework 2 (latest master).
- ZfcBase (latest master).
- ZfcUser (latest master).
- MailService (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": { "finbarrmccarthy/forgotpassword": "0.*" }
-
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', 'MailService', 'ForgotPassword' ), // ... );
-
Then Import the SQL schema located in
./vendor/finbarrmccarthy/forgotpassword/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 is an additional module for Doctrine integration ForgotPasswordORM
Usage
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/finbarrmccarthy/forgotpassword/config/forgotpassword.global.php.dist
to
./config/autoload/forgotpassword.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
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.