CodeFlow-Inc / CodeFlow-Inc/Authentication

Implement Password Reset via Email Confirmation

Open
#8 0 comments 0 reactions 0 assignees View on GitHub
enhancement help wanted
Dominant language
C#
Stars
0
Forks
0
PR merge metrics
No merged PRs in 30d

Description

### **English**
**PBI: Implement Password Reset via Email Confirmation**

#### **Description**
To enhance security and user experience, we will implement a password reset functionality in the authentication API. The process will involve sending a confirmation code via **NotificaMail API**, which the user must provide to set a new password.

#### **Acceptance Criteria**
1. **Request Password Reset:**
- User submits their email to request a password reset.
- A unique confirmation code is generated and sent via the **NotificaMail API**.
- The code has a configurable expiration time (e.g., 10 minutes).

2. **Confirm Reset Code:**
- User submits the confirmation code and email.
- The system verifies if the code is valid and not expired.

3. **Set New Password:**
- Once the code is verified, the user submits a new password.
- The password is securely hashed and stored.
- The confirmation code is invalidated after successful reset.

4. **Security Measures:**
- Rate limiting to prevent brute-force attempts.
- Expired or incorrect codes should not expose account details.
- Secure password hashing using industry standards.

#### **Expected Benefits**
- Improved security by ensuring password resets are confirmed via email.
- Better user experience with a simple and structured process.
- Centralized email handling using the **NotificaMail API**.

---

### **Português**
**PBI: Implementar Redefinição de Senha via Confirmação por E-mail**

#### **Descrição**
Para melhorar a segurança e a experiência do usuário, será implementada a funcionalidade de redefinição de senha na API de autenticação. O processo envolverá o envio de um código de confirmação via **API NotificaMail**, que o usuário deverá informar para definir uma nova senha.

#### **Critérios de Aceitação**
1. **Solicitação de Redefinição de Senha:**
- O usuário informa seu e-mail para solicitar a redefinição.
- Um código de confirmação único é gerado e enviado via **API NotificaMail**.
- O código tem um tempo de expiração configurável (ex.: 10 minutos).

2. **Confirmação do Código:**
- O usuário informa o código de confirmação e o e-mail.
- O sistema valida se o código é válido e ainda não expirou.

3. **Definir Nova Senha:**
- Após a validação do código, o usuário informa uma nova senha.
- A senha é armazenada de forma segura após hashing.
- O código de confirmação é invalidado após o reset bem-sucedido.

4. **Medidas de Segurança:**
- Limite de tentativas para evitar ataques de força bruta.
- Códigos expirados ou incorretos não devem expor informações da conta.
- Hashing seguro das senhas seguindo padrões recomendados.

#### **Benefícios Esperados**
- Maior segurança ao garantir que a redefinição de senha seja confirmada por e-mail.
- Melhor experiência do usuário com um processo estruturado e simples.

Contributor guide

No contributing guide indexed for this repository

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.