Adding encryption package to encrypt email

This commit is contained in:
2024-08-21 14:22:40 +02:00
parent b98b61aa76
commit 6e3f283a64
6 changed files with 90 additions and 5 deletions

View File

@ -81,7 +81,7 @@ func main() {
flag.IntVar(&cfg.smtp.port, "smtpport", 1025, "smtp host")
flag.StringVar(&cfg.smtp.username, "smtpuser", "user", "smtp user")
flag.StringVar(&cfg.smtp.password, "smtppwd", "password", "smtp password")
flag.StringVar(&cfg.secretkey, "secret", "secRetKeY", "secret key")
flag.StringVar(&cfg.secretkey, "secretkey", "b47df3d8380241c1177f13bdd69c6a60", "secret key")
flag.StringVar(&cfg.frontend, "frontend", "http://localhost:4000", "frontend address")
flag.Parse()

View File

@ -5,6 +5,7 @@ import (
"errors"
"fmt"
"myapp/internal/cards"
"myapp/internal/cards/encryption"
"myapp/internal/models"
"myapp/internal/urlsigner"
"net/http"
@ -480,7 +481,18 @@ func (app *application) ResetPassword(w http.ResponseWriter, r *http.Request) {
return
}
user, err := app.DB.GetUserByEmail(payload.Email)
encryptor := encryption.Encryption{
Key: []byte(app.config.secretkey),
}
realEmail, err := encryptor.Decrypt(payload.Email)
if err != nil {
app.errorLog.Println(err)
app.badRequest(w, r, err)
return
}
user, err := app.DB.GetUserByEmail(realEmail)
if err != nil {
app.errorLog.Println(err)
app.badRequest(w, r, err)