From 8dc0d73da97c6edff43d12af53ac9a707814196e Mon Sep 17 00:00:00 2001
From: MaximeOLIVA <maxime.oliva@etu.univ-cotedazur.fr>
Date: Fri, 3 Mar 2023 20:50:12 +0100
Subject: [PATCH] password recover

---
 .../database_helper.cpython-310.pyc           | Bin 4689 -> 4756 bytes
 Lab4/__pycache__/server.cpython-310.pyc       | Bin 6143 -> 8444 bytes
 Lab4/database.db                              | Bin 761856 -> 761856 bytes
 Lab4/database_helper.py                       |  14 +++-
 Lab4/server.py                                |  72 +++++++++++++++++-
 Lab4/static/client.css                        |  11 +++
 Lab4/static/client.html                       |   1 +
 Lab4/static/client.js                         |  12 ++-
 Lab4/static/password_recovery.css             |  34 +++++++++
 Lab4/static/password_recovery_form.html       |  20 +++++
 Lab4/static/password_recovery_sent.html       |  13 ++++
 Lab4/static/recover_password.html             |  22 ++++++
 12 files changed, 192 insertions(+), 7 deletions(-)
 create mode 100644 Lab4/static/password_recovery.css
 create mode 100644 Lab4/static/password_recovery_form.html
 create mode 100644 Lab4/static/password_recovery_sent.html
 create mode 100644 Lab4/static/recover_password.html

diff --git a/Lab4/__pycache__/database_helper.cpython-310.pyc b/Lab4/__pycache__/database_helper.cpython-310.pyc
index 39a86975cf1d2709547c7edc3fcfc7d630ba111c..f635570f53710411968225763425148b7abec8f0 100644
GIT binary patch
delta 267
zcmcbpGDVdypO=@5fq{Wxy)<LWR<VtIrF@LPCb#evGU`ueWRbOsV_;yY(kNkQW>~<u
zkfD~ThG_v)3S$jJI^#knMur-u1<VT>YME=8i_}t>YFWVQm}*#R7;6|NH*kqf=3*0N
zEz)CPV3_R3Z>%KEz`&r%TExe|z!1fqms(zsSX^A5UzAcL&cMJ>qzO_slV3|tf`Ng7
ziIIzukCB6sg^`6(h>?qtjggIsjggJ9$YAn94w1>P`6mhQV_;w?=3ro8fT-kQEHa!t
rLEw}4QII$f*bEVfPLMv+$uk8b1oS}`8Gr~w5Mer*QOK8BfQKCbQ=T)W

delta 211
zcmbQDdQpWhpO=@5fq{Wx&ZPgzcSJYxmGUuGO>W^UWYc3{U`S?~Y|kqvl)_lcRKn2A
zuz<0KsfMwJA&qIW1e5CIdVWI*ZUzPhP39s#1_p*G?!46Ug2dwD^8BKd$(Q)GL_nfU
zj4X^oj9iRtU|6I-c_D|$WIcgN5<3_e7>YR<7#O%1`4~AEc^HcfKsGW@w&#_Y{6XNV
r_<oQA9tH*mCPop20Vb302u28i99N{zz`y|3RAe&QMaY+#i-#QmYJe&A

diff --git a/Lab4/__pycache__/server.cpython-310.pyc b/Lab4/__pycache__/server.cpython-310.pyc
index 32747256fc1acb196f39de31516988c4e65704be..8923e6ded4ef87e497f3fa990279cda3c78dcc4d 100644
GIT binary patch
delta 5034
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
Z;$q|z;bP?Dn|x7Rjf0B|)Qn;I2LKLKtJnYl

delta 2760
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
SANS;Q3Thl2Tx_6Z@DBh6Qc9ix

diff --git a/Lab4/database.db b/Lab4/database.db
index 7fd372c02c76c6a5d6a8824bc576312f87bdef86..4d522693d6546cc621213a78e6a9558f282423d2 100644
GIT binary patch
delta 1948
zcmZoTpx1CfZ-O*$Is*g4E(QjMdIkoD=@T`~8Phi=EaB&3=1*ea-_JjRKWVd|KnQ=V
z4l{?au&A)Gx^yBK<R<2%f*ByfAw4%SGe<8uKQ}QcIVCkMU6+YNSWr|{R8umwC^fYR
zq&T$*0&^2943X4>v?os9FYn65%)gI;e;@w^{>PgI6*lmz3NouRCMG5#)G`Y(Ycis0
zXWIN&{{g>xsef)(wrg;Pw~1+ah)0Q^Pnw~Vd5T-Qzgf7EYekAnSU`YzVq)UvSN4DT
znZXQyF$Dou1_lNu{#OhP3=FmW@A+SCZ0u#+Jh#x7Pl17f!JmnNfq|0|BniX33=9m6
zjI$XSXK!qr$jH((JCJen{K92i+g)Q=)-f}hG=J%D|I*L6{YyWSK*DyG1jhgTj7Hm8
z0zkC!b`}Q^ZL*!k07RQ^XGviH&(CPKouvRon{Q`n0MQoPStfvJ%k3-+K(y6%mJJ}<
zdOOPj_W$yXw%b_>K>F>rvowHc`|T_fK(xblmIWZ%aXZTf5bd;`<p79w-p&%h^q-&6
zWjjj(h<4r1QUIdewzD*VX!q?b6F{`bc9sPo+H*V01`zGFo#g<C_TJ8N0Yv+3XL$gk
zeYdlG0MUM1S(yLxGx~355n%qq&jksZSqzM`Ha1RR<ZYTA#KfxEvYiVQTicfhviR@`
zPJ#s^l=cVvh@UY4>cc>&kAt8g5DX2G5NHU6LPIP9N=HJ)qoC@dq55K==EOqHjRV^w
z&lm@dk;Kg`7yk1zCPBH$&<IL_Mo=m=g3`9LD1ZVmeLIT)h|bu`0-`cEvwZl^znpmi
zn*d`r#H5_<EDdb``5ALJvn=?}&zJ{|p?qiz6+mOC5E?^8&=@L)#!v|~hDxC^R0fTq
za%c=yKx3#98bejk7^;TGPz^MO>Oe6Bj|x~S<!qWA$jqwVvYl)Dl0X)JKEWPn@WZGE
zNQ6!dV5y(Rz`zj4z`zi|z`zj5z`zj1z`y{C*u@MC3`-ao7?v_HFi0^lFi0~nFi0{m
zFc>f}FvK!2FvKu0FhnyjFhnshFhnpgFoZKOFwA0LV3^Ioz%Yk_fnhEK1H(K928Q_z
z3=9hx7#J2ZFfc4)U|>*XU|>*TU|>*YU|>*UV3^+afL)L^jDdk6a{8PH?B1G&3=9lL
z3=9l@3=9mu3=9lD3=9n33=9lj3=9mO3=9k&3=9nJ3=9lz(>)%rYx5>BFfc4*U|?9z
zz`(F#y1^rM<@yi?28K`u28Lh;28MVB1_omW28Im`3=HcT7#P+uFfgoTU|?9oz`(GY
zfq`Ka0|UcK1_p+W3=9mL7#J8fGcYi0VPIg`%D}*|je&t-I|Bp54h9B>ozU_!k%56B
ziGhJ3nSp^Jg@J(~m4SgFje&syRGwxqFfe2?Ft9OXF)%P>Pp^5%uFP4&z`#(-z`#&8
zUEmSBv|$|s149D?14APN149!714A<d149b~14AnV14A1F14BCl149P`14AdWHhI-r
z1_p*21_p*|1_p*I1_p*o1_p)-1_p+5kjYS`CEM3LVh`tKY=q>|CQu&z&(GMrokanZ
zXIr+j7=Y;3?JN!;x@|j40Elki&XNG4JGQeFfauQcEDg;6<(D&GU>9KQ0_P%r#$IUd
z>x1ULerWES0L^_9p}DUcn)@b0)lY${p9)n!4XS=RRQ(L7`k7#R<QZo}v*#RW_M8jN
zp7WsDb3QbCE`Vmwg^=vI2%J3`7jI^H@SmS?2_%Cqg=WxYkPNyUnn71UGw4c42HnoQ
zfQwN8nmN}%Gv``p=3EEOoa>>Pa|1MUZiHseP0-A_8Jan_Kr`o7Xy)7o%AEiC8Mi}n
W8{-a0)a-;t%`RxvOaw*EAASJlq$wW&

delta 70691
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
PbM!7~j@|~!(SP^>4Qghi

diff --git a/Lab4/database_helper.py b/Lab4/database_helper.py
index 2e52d2f..2b9eb13 100644
--- a/Lab4/database_helper.py
+++ b/Lab4/database_helper.py
@@ -173,10 +173,16 @@ def check_user_exists(email):
 
 def change_password(email, newpassword):
     try:
-        sql = "UPDATE USERS SET PASSWORD = ? WHERE EMAIL = ?;"
-        get_db().execute(sql, (newpassword, email))
-        get_db().commit()
-        return True
+        cursor = get_db().cursor()
+        cursor.execute("SELECT EMAIL FROM USERS WHERE EMAIL=?", [email])
+        exists = cursor.fetchone()
+        if exists:
+            sql = "UPDATE USERS SET PASSWORD = ? WHERE EMAIL = ?;"
+            get_db().execute(sql, (newpassword, email))
+            get_db().commit()
+            return True
+        else:
+            return False
     except:
         return False
 
diff --git a/Lab4/server.py b/Lab4/server.py
index c915e23..88f37dd 100644
--- a/Lab4/server.py
+++ b/Lab4/server.py
@@ -1,5 +1,7 @@
-from flask import Flask, request, jsonify
+from flask import Flask, request, jsonify, render_template
 from flask_sock import Sock
+from datetime import datetime, timedelta
+from flask_mail import Mail, Message
 
 import waitress
 import database_helper
@@ -8,11 +10,25 @@ import string
 import json
 import re
 import io
+import os
+import secrets
 
 app = Flask(__name__, template_folder='static')
+app.config['SECRET_KEY'] = os.environ.get('SECRET_KEY', 'devkey')
+app.config['MAIL_SERVER']='sandbox.smtp.mailtrap.io'
+app.config['MAIL_PORT'] = 2525
+app.config['MAIL_USERNAME'] = 'c1159416d31517'
+app.config['MAIL_PASSWORD'] = '9971f0f667254a'
+app.config['MAIL_USE_TLS'] = True
+app.config['MAIL_USE_SSL'] = False
+app.config['RECOVERY_TOKEN_LIFETIME'] = timedelta(minutes=1)
+app.config['RECOVERY_TOKEN_LENGTH'] = 24
+
 sockets = Sock(app)
+mail = Mail(app)
 
 loggedIn_for_ws = {}
+tokens = {}
 
 @sockets.route("/profil_view")
 def socket_connection(ws):
@@ -32,6 +48,57 @@ def hello_world():
     return app.send_static_file("client.html"), 200
 
 
+@app.route('/password-recovery', methods=['GET', 'POST'])
+def password_recovery():
+    if request.method == 'POST':
+        email = request.form['email']
+        if database_helper.check_user_exists(email):
+            token = generate_recovery_token(email)
+            send_recovery_link(email, token)
+            return render_template('password_recovery_sent.html')
+        else:
+            return render_template('password_recovery_form.html', message_error="This email doesn't exist")
+    else:
+        return render_template('password_recovery_form.html')
+
+def generate_recovery_token(email):
+    token = secrets.token_hex(app.config['RECOVERY_TOKEN_LENGTH'])
+    expiration_date = datetime.utcnow() + app.config['RECOVERY_TOKEN_LIFETIME']
+    tokens[token] = {'email': email, 'expiration_date': expiration_date}
+    return token
+
+def send_recovery_link(email, token):
+    msg = Message('Twidder Password Recovery', sender='twidder@mailtrap.io', recipients=[email])
+    recovery_link = request.url_root + 'reset-password/' + token
+    msg.body = f'Click the following link to reset your Twidder password: {recovery_link}'
+    mail.send(msg)
+
+@app.route('/reset-password/<token>', methods=['GET', 'POST'])
+def reset_password(token):
+    if token not in tokens:
+        return render_template('password_recovery_form.html')
+
+    expiration_date = tokens[token]['expiration_date']
+    if datetime.utcnow() > expiration_date:
+        del tokens[token]
+        return render_template('password_recovery_form.html')
+
+    if token in tokens and request.method == 'GET':
+        return render_template('recover_password.html')
+
+    if request.method == 'POST':
+        pass1 = request.form['password1']
+        pass2 = request.form['password2']
+        email = tokens[token]['email']
+        if(len(pass1) > 5 and len(pass2) > 5) and (pass1 == pass2):
+            del tokens[token]
+            database_helper.change_password(email, pass1)
+            return render_template('client.html')
+        else:
+            return render_template('recover_password.html', message_error = "Please enter a password of 6 characters at least and enter the same passwords.")
+    else:
+        return render_template('password_recovery_form.html')
+
 @app.route("/users/sign_up", methods = ['POST'])
 def sign_up():
     data = request.get_json()
@@ -84,7 +151,10 @@ def sign_in():
 def sign_out():
     token = get_token_from_header()
     if(token != 1):
+        email = database_helper.tokenToEmail(token)
         if database_helper.removeFromLoggedInUsers(token):
+            del loggedIn_for_ws[email]
+            print("loggedIn_for_ws : ", loggedIn_for_ws)
             return "", 200
         else:
             return "", 401
diff --git a/Lab4/static/client.css b/Lab4/static/client.css
index 340dedf..879a877 100644
--- a/Lab4/static/client.css
+++ b/Lab4/static/client.css
@@ -34,6 +34,12 @@ body {
     width: 600px;
 }
 
+.forgot-password {
+  position: absolute;
+  margin-top: 5px;
+  margin-left: 60px;
+}
+
 h2 {
     text-align: center;
 }
@@ -91,6 +97,11 @@ img {
     margin-top: 20px;
 }
 
+#merror {
+  color: red;
+  text-align: center;
+}
+
 #panel-default {
     background-color: darkgrey;
     border: solid black 1px;
diff --git a/Lab4/static/client.html b/Lab4/static/client.html
index dc7af93..d1b693d 100644
--- a/Lab4/static/client.html
+++ b/Lab4/static/client.html
@@ -14,6 +14,7 @@
                     <form id="login" onsubmit="signIn(this); return false;">
                         <div><label for="email">Email</label><input class="logintexts" type="email" id="l_email" required></div>
                         <div><label for="password">Password</label><input class="logintexts" type="password" id="l_password" required></div>
+                        <div><a href="/password-recovery" class="forgot-password" ">Forgot password?</a></div>
                         <input value="Login" class="lbutton" type="submit">
                     </form>
                     <form id="signup" onsubmit="signUp(this); return false;">
diff --git a/Lab4/static/client.js b/Lab4/static/client.js
index 3bf2212..6a21092 100644
--- a/Lab4/static/client.js
+++ b/Lab4/static/client.js
@@ -211,6 +211,13 @@ function signIn(formData) {
 
 }
 
+function checkpass(formData) {
+  let passwords = {
+    password1 : formData.password1.value,
+    password2 : formData.password2.value
+  }
+  window.alert('test');
+}
 //---------------------------------------SIGN OUT---------------------------------------
 
 function signOut() {
@@ -511,7 +518,7 @@ function drop(e) {
   document.getElementById("drop-zone").classList.remove("hover");
   var files = e.dataTransfer.files;
   var file = files[0];
-  
+
   if (file.type.endsWith('png') || file.type.endsWith('jpeg')) {
     const formData = new FormData();
     formData.append('image', file);
@@ -542,6 +549,7 @@ function load_profilepicture() {
   var xhr = new XMLHttpRequest();
   xhr.open('GET', '/users/account/getpp/' + localStorage.getItem('reloadHome'));
   xhr.responseType = 'blob';
+  xhr.send();
   xhr.onload = function() {
     if (xhr.status === 200) {
       // Create a new image object from the blob data
@@ -550,5 +558,5 @@ function load_profilepicture() {
       img.src = window.URL.createObjectURL(blob);
     }
   };
-  xhr.send();
+
 }
diff --git a/Lab4/static/password_recovery.css b/Lab4/static/password_recovery.css
new file mode 100644
index 0000000..2d72432
--- /dev/null
+++ b/Lab4/static/password_recovery.css
@@ -0,0 +1,34 @@
+body {
+  background-color: #0F98B7;
+}
+.container {
+  max-width: 300px;
+  margin: auto;
+}
+form {
+  background-color: #fff;
+  padding: 20px;
+  border-radius: 5px;
+  box-shadow: 0 0 10px rgba(0, 0, 0, 0.2);
+}
+label {
+  font-weight: bold;
+}
+
+.form-group {
+  display: flex;
+  flex-direction: column;
+  width: 250px;
+}
+
+.form-group label {
+  text-align: left;
+}
+
+button {
+  margin-top: 5px;
+}
+
+#error {
+  color: red;
+}
diff --git a/Lab4/static/password_recovery_form.html b/Lab4/static/password_recovery_form.html
new file mode 100644
index 0000000..f4da50f
--- /dev/null
+++ b/Lab4/static/password_recovery_form.html
@@ -0,0 +1,20 @@
+<!DOCTYPE html>
+<html>
+  <head>
+    <title>Twidder - Password Recovery</title>
+    <link href="/static/password_recovery.css" type="text/css" rel="stylesheet">
+  </head>
+  <body>
+    <div class="container">
+      <h1 class="mt-5 mb-3">Password Recovery</h1>
+      <form method="post" action="/password-recovery">
+        <div class="form-group">
+          <label for="email">Enter your email</label>
+          <input type="email" class="form-control" id="email" name="email" required>
+        </div>
+        <button type="submit" class="btn btn-primary">Send Recovery Link</button>
+        <p id="error">{{message_error}}<p>
+      </form>
+    </div>
+  </body>
+</html>
diff --git a/Lab4/static/password_recovery_sent.html b/Lab4/static/password_recovery_sent.html
new file mode 100644
index 0000000..fd9e290
--- /dev/null
+++ b/Lab4/static/password_recovery_sent.html
@@ -0,0 +1,13 @@
+<!DOCTYPE html>
+<html>
+  <head>
+    <title>Twidder - Password Recovery Sent</title>
+    <link href="/static/password_recovery.css" type="text/css" rel="stylesheet">
+  </head>
+  <body>
+    <div class="container">
+      <h1 class="mt-5 mb-3">Password Recovery Sent</h1>
+      <p>An email has been sent to your email with a link to reset your password. Please check your inbox.</p>
+    </div>
+  </body>
+</html>
diff --git a/Lab4/static/recover_password.html b/Lab4/static/recover_password.html
new file mode 100644
index 0000000..54e0270
--- /dev/null
+++ b/Lab4/static/recover_password.html
@@ -0,0 +1,22 @@
+<!DOCTYPE html>
+<html>
+  <head>
+    <title>Twidder - Change Password</title>
+    <link href="/static/password_recovery.css" type="text/css" rel="stylesheet">
+  </head>
+  <body>
+    <div class="container">
+      <h1 class="mt-5 mb-3">Change password</h1>
+      <form method="post">
+        <div class="form-group">
+          <label for="password1">New password</label>
+          <input type="password" class="form-control" id="password1" name="password1" required>
+          <label for="password2" id="test">Write it again</label>
+          <input type="password" class="form-control" id="password2" name="password2" required>
+          <button type="submit" class="btn btn-primary">Change</button>
+          <p id="error">{{message_error}}<p>
+        </div>
+      </form>
+    </div>
+  </body>
+</html>
-- 
GitLab