1.. include:: ../../Includes.txt 2 3=================================================== 4Feature: #88110 - Felogin extbase password recovery 5=================================================== 6 7See :issue:`88110` 8 9Description 10=========== 11 12As part of the felogin extbase plugin, a password recovery form has been added. 13 14FE users are able to request a password change via email. A mail with a forgot hash will be send to the requesting user. 15If that hash is found valid a reset password form is shown. If all validators are met the users password will be updated. 16 17There is a way to define and override default validators. Configured as default are two validators: NotEmptyValidator and StringLengthValidator. 18 19They can be overridden by overwriting :ts:`plugin.tx_felogin_login.settings.passwordValidators`. 20Default is as follows: 21 22.. code-block:: typoscript 23 24 passwordValidators { 25 10 = TYPO3\CMS\Extbase\Validation\Validator\NotEmptyValidator 26 20 { 27 className = TYPO3\CMS\Extbase\Validation\Validator\StringLengthValidator 28 options { 29 minimum = {$styles.content.loginform.newPasswordMinLength} 30 } 31 } 32 } 33 34A custom configuration could look like this: 35 36.. code-block:: typoscript 37 38 passwordValidators { 39 10 = TYPO3\CMS\Extbase\Validation\Validator\AlphanumericValidator 40 20 { 41 className = TYPO3\CMS\Extbase\Validation\Validator\StringLengthValidator 42 options { 43 minimum = {$styles.content.loginform.newPasswordMinLength} 44 maximum = 32 45 } 46 } 47 30 = \Vendor\MyExt\Validation\Validator\MyCustomPasswordPolicyValidator 48 } 49 50Felogin uses FluidMail. The email_templateName variable in TypoScript is mandatory. Depending on the configuration of 51$GLOBALS['TYPO3_CONF_VARS']['MAIL']['format'] the template has to exist as an HTML file, txt file or both. The template 52files have to be placed in the same folder. 53The template paths can be configured via TypoScript. These paths can either be added to the paths configured in 54$GLOBALS['TYPO3_CONF_VARS']['MAIL'] or replace them. 55 56The template paths configuration can be extended as follows: 57 58.. code-block:: typoscript 59 60 plugin.tx_felogin_login { 61 settings { 62 email { 63 templateName = MyRecoveryEmailTemplateName 64 65 layoutRootPaths { 66 30 = EXT:myext/Resources/Private/Layouts/Email/ 67 } 68 templateRootPaths { 69 30 = EXT:myext/Resources/Private/Templates/Email/ 70 } 71 partialRootPaths { 72 30 = EXT:myext/Resources/Private/Partials/Email/ 73 } 74 } 75 } 76 } 77 78To overwrite the template path configuration provided by felogin, it has to be as follows: 79 80.. code-block:: typoscript 81 82 plugin.tx_felogin_login { 83 settings { 84 email{ 85 templateRootPaths { 86 20 = EXT:myext/Resources/Private/Templates/Email/ 87 } 88 } 89 } 90 } 91 92 93Impact 94====== 95 96No direct impact. Only used, if feature toggle "felogin.extbase" is explicitly turned on. 97 98.. index:: Database, FlexForm, Fluid, Frontend, TypoScript, ext:felogin 99