processing / p5.js-web-editor

The p5.js Editor is a website for creating p5.js sketches, with a focus on making coding accessible and inclusive for artists, designers, educators, beginners, and anyone else! You can create, share, or remix p5.js sketches without needing to download or configure anything.
https://editor.p5js.org
GNU Lesser General Public License v2.1
1.38k stars 1.32k forks source link

Implementing the feature for resending Password Reset Emails. #2908

Closed Keshav-0907 closed 2 months ago

Keshav-0907 commented 9 months ago

Increasing Access

The addition of a feature to resend password reset emails in the p5.js Web Editor would contribute to increased access in the following ways:

Feature request details

To have a resend password reset email features for users when they are reseting their password. We can also implement a timer, so that the request for another password reset email can be raised after a particular time after the first request is made. ( 30 sec, 60 sec )

Because their can be couple of reasons that the user may not receive the password reset email.

Screenshot 2024-01-16 at 9 54 00 PM

I want to work on this issue

lindapaiste commented 9 months ago

Sounds like your suggestion is that below the "check your spam folder" message we might add another line like "Can't find the email? Send it again." Where "send it again" is a link which would re-send a new email with the same reset password code.

To have a resend password reset email features for users when they are reseting their password. We can also implement a timer, so that the request for another password reset email can be raised after a particular time after the first request is made. ( 30 sec, 60 sec )

I wonder what sort of limitations we have on this currently, if any. Feel free to look around in the source code. https://github.com/processing/p5.js-web-editor/blob/b28f347a61de10cd932da75fcc86887dc04f2c86/server/controllers/user.controller.js

Keshav-0907 commented 9 months ago

We can make a new Api Endpoint resendResetPassword, that allows a user to request the resend of a reset password email. It checks if the user exists, has an active reset password token, and if the token is still valid.

It would require us to add 2 new properties in the userSchema : resetPasswordToken (for temporarily storing the Token ) & resetPasswordExpires ( Time after which it expires ) And If conditions are met, it will resend the reset password email to the user.

If you find it workable and in line with the project's goals, could you please consider assigning it to me? I'm open to further discussion and collaboration to implement this.

shekharkalshetti commented 8 months ago

can i work on this issue?

Keshav-0907 commented 8 months ago

@lindapaiste should i start working on this issue with this approach ?

We can make a new Api Endpoint resendResetPassword, that allows a user to request the resend of a reset password email. It checks if the user exists, has an active reset password token, and if the token is still valid.

It would require us to add 2 new properties in the userSchema : resetPasswordToken (for temporarily storing the Token ) & resetPasswordExpires ( Time after which it expires ) And If conditions are met, it will resend the reset password email to the user.

If you find it workable and in line with the project's goals, could you please consider assigning it to me? I'm open to further discussion and collaboration to implement this.