GithubHelp home page GithubHelp logo

mssoylu / reset-password-bundle Goto Github PK

View Code? Open in Web Editor NEW

This project forked from symfonycasts/reset-password-bundle

0.0 0.0 0.0 504 KB

Need a killer reset password feature for your Symfony? Us too!

Home Page: https://symfonycasts.com

License: MIT License

PHP 100.00%

reset-password-bundle's Introduction

ResetPasswordBundle: Mind-Blowing (and Secure) Password Resetting for Symfony

Worrying about how to deal with users that can't remember their password? We've got you covered! This bundle provides a secure out of the box solution to allow users to reset their forgotten passwords.

Installation

The bundle can be installed using Composer or the Symfony binary:

composer require symfonycasts/reset-password-bundle

Usage

There are two ways to get started, the easiest and preferred way is to use Symfony's MakerBundle. The Maker will take care of everything from creating configuration, to generating your templates, controllers, and entities.

Using Symfony's Maker Bundle (Recommended)

  • Run bin/console make:reset-password, answer a couple questions, and enjoy our bundle!

Setting things up manually

If you prefer to take care of the leg work yourself, checkout the manual setup guide. We still recommend using the Maker command to get a feel for how we intended the bundle to be used.


If you used our Symfony Maker command bin/console make:reset-password after installation, your app is ready to go. Go to https://your-apps-domain/reset-password, fill out the form, click on the link sent to your email, and change your password. That's it! The Reset Password Bundle takes care of the rest.

The above assumes you have already setup authentication with a registered user account & configured Symfony's mailer in your app.

Configuration

You can change the default configuration parameters for the bundle in the config/packages/reset_password.yaml config file created by Maker.

symfonycasts_reset_password:
    request_password_repository: App\Repository\PasswordResetRequestRepository
    lifetime: 3600
    throttle_limit: 3600
    enable_garbage_collection: true

Parameters:

request_password_repository

Required

The complete namespace of the repository for the ResetPasswordRequest entity. If you used make:reset-password, this will be App\Repository\ResetPasswordRequestRepository.

lifetime

Optional - Defaults to 3600 seconds

This is the length of time a reset password request is valid for in seconds after it has been created.

throttle_limit

Optional - Defaults to 3600 seconds

This is the length of time in seconds that must pass before a user can request a subsequent reset request.

Setting this value equal to or higher than lifetime will prevent a user from requesting a password reset before a previous reset attempt has either 1) Been successfully completed. 2) The previous request has expired.

Setting this value lower than lifetime will allow a user to make several reset password requests, even if any previous requests have not been successfully completed or have not expired. This would allow for cases such as a user never received the reset password request email.

enable_garbage_collection

Optional - Defaults to true

Enable or disable the Reset Password Cleaner which handles expired reset password requests that may have been left in persistence.

Support

Feel free to open an issue for questions, problems, or suggestions with our bundle. Issues pertaining to Symfony's Maker Bundle, specifically make:reset-password, should be addressed in the Symfony Maker repository.

Security Issues

For security related vulnerabilities, we ask that you send an email to ryan [at] symfonycasts.com instead of creating an issue.

This will give us the opportunity to address the issue without exposing the vulnerability before a fix can be published.

reset-password-bundle's People

Contributors

bocharsky-bw avatar cjhaas avatar cristoforocervino avatar jrushlow avatar kbond avatar ker0x avatar maxhelias avatar mollokhan avatar mssoylu avatar oskarstark avatar routmoute avatar stof avatar thomas2411 avatar weaverryan avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.