fix session and add id to logged_in
This commit is contained in:
@ -5,7 +5,7 @@ class User(models.Model):
|
|||||||
username = models.CharField(max_length=20, unique=True)
|
username = models.CharField(max_length=20, unique=True)
|
||||||
mail = models.EmailField(unique=True)
|
mail = models.EmailField(unique=True)
|
||||||
password = models.CharField(max_length=100)
|
password = models.CharField(max_length=100)
|
||||||
id42 = models.DecimalField(max_digits=15, decimal_places=0, default=0)
|
id42 = models.DecimalField(max_digits=15, decimal_places=0, null=True, unique=True)
|
||||||
|
|
||||||
class Message(models.Model):
|
class Message(models.Model):
|
||||||
id = models.AutoField(primary_key=True)
|
id = models.AutoField(primary_key=True)
|
||||||
|
@ -6,7 +6,7 @@
|
|||||||
# By: edbernar <edbernar@student.42angouleme. +#+ +:+ +#+ #
|
# By: edbernar <edbernar@student.42angouleme. +#+ +:+ +#+ #
|
||||||
# +#+#+#+#+#+ +#+ #
|
# +#+#+#+#+#+ +#+ #
|
||||||
# Created: 2024/08/09 08:08:00 by edbernar #+# #+# #
|
# Created: 2024/08/09 08:08:00 by edbernar #+# #+# #
|
||||||
# Updated: 2024/08/25 14:49:14 by tomoron ### ########.fr #
|
# Updated: 2024/08/25 16:42:26 by tomoron ### ########.fr #
|
||||||
# #
|
# #
|
||||||
# **************************************************************************** #
|
# **************************************************************************** #
|
||||||
|
|
||||||
@ -58,12 +58,13 @@ def createAccount(socket, content):
|
|||||||
if (len(User.objects.filter(username=content["username"]))):
|
if (len(User.objects.filter(username=content["username"]))):
|
||||||
socket.sendError("Username already used", 9017)
|
socket.sendError("Username already used", 9017)
|
||||||
return
|
return
|
||||||
socket.scope["session"]["logged_in"] = True
|
|
||||||
socket.scope["session"]["username"] = content["username"]
|
|
||||||
socket.scope["session"].save()
|
|
||||||
password = hashlib.md5((content["mail"] + content["password"]).encode()).hexdigest()
|
password = hashlib.md5((content["mail"] + content["password"]).encode()).hexdigest()
|
||||||
new_user = User.objects.create(username=content["username"], mail=content["mail"], password=password)
|
new_user = User.objects.create(username=content["username"], mail=content["mail"], password=password)
|
||||||
new_user.save()
|
new_user.save()
|
||||||
|
socket.scope["session"]["logged_in"] = True
|
||||||
|
socket.scope["session"]["username"] = content["username"]
|
||||||
|
socket.scope["session"]["id"] = new_user.id
|
||||||
|
socket.scope["session"].save()
|
||||||
socket.send(text_data=json.dumps({"type": "create_account", "content": "Account created"}))
|
socket.send(text_data=json.dumps({"type": "create_account", "content": "Account created"}))
|
||||||
except Exception as e:
|
except Exception as e:
|
||||||
socket.sendError("Error create account", 9005, e)
|
socket.sendError("Error create account", 9005, e)
|
||||||
|
@ -6,7 +6,7 @@
|
|||||||
# By: edbernar <edbernar@student.42angouleme. +#+ +:+ +#+ #
|
# By: edbernar <edbernar@student.42angouleme. +#+ +:+ +#+ #
|
||||||
# +#+#+#+#+#+ +#+ #
|
# +#+#+#+#+#+ +#+ #
|
||||||
# Created: 2024/08/03 08:10:38 by edbernar #+# #+# #
|
# Created: 2024/08/03 08:10:38 by edbernar #+# #+# #
|
||||||
# Updated: 2024/08/25 17:06:42 by edbernar ### ########.fr #
|
# Updated: 2024/08/25 17:32:37 by tomoron ### ########.fr #
|
||||||
# #
|
# #
|
||||||
# **************************************************************************** #
|
# **************************************************************************** #
|
||||||
|
|
||||||
@ -62,14 +62,15 @@ def loginByPass(socket, content):
|
|||||||
password_hash = hashlib.md5((content["mail"] + content["password"]).encode()).hexdigest()
|
password_hash = hashlib.md5((content["mail"] + content["password"]).encode()).hexdigest()
|
||||||
user = User.objects.filter(mail=content["mail"], password=password_hash)
|
user = User.objects.filter(mail=content["mail"], password=password_hash)
|
||||||
if(len(user)):
|
if(len(user)):
|
||||||
jsonVar = {"type": "login", "content": {"username": user[0].username}}
|
jsonVar = {"type": "login", "content": {"username": user[0].username, "id": user[0].id}}
|
||||||
socket.scope["session"]["logged_in"] = True
|
socket.scope["session"]["logged_in"] = True
|
||||||
socket.scope["session"]["username"] = jsonVar["content"]["username"]
|
socket.scope["session"]["username"] = jsonVar["content"]["username"]
|
||||||
|
socket.scope["session"]["id"] = user[0].id
|
||||||
socket.scope["session"].save()
|
socket.scope["session"].save()
|
||||||
socket.send(text_data=json.dumps({"type":"logged_in", "content":{
|
socket.send(text_data=json.dumps({"type":"logged_in", "content":{
|
||||||
"status":True,
|
"status":True,
|
||||||
"username":jsonVar["content"]["username"],
|
"username":jsonVar["content"]["username"],
|
||||||
"id": 9999999,
|
"id": user[0].id,
|
||||||
}}))
|
}}))
|
||||||
return
|
return
|
||||||
socket.send(text_data=json.dumps({"type": "error", "content": "Invalid email or password", "code": 9007}))
|
socket.send(text_data=json.dumps({"type": "error", "content": "Invalid email or password", "code": 9007}))
|
||||||
@ -89,7 +90,6 @@ def login(socket, content):
|
|||||||
# - byPass: Récupérer les informations de l'utilisateur en fonction de mail et de son mot de passe
|
# - byPass: Récupérer les informations de l'utilisateur en fonction de mail et de son mot de passe
|
||||||
# - by42: Récupérer les informations de l'utilisateur en fonction de son token42 (qui sera different du token)
|
# - by42: Récupérer les informations de l'utilisateur en fonction de son token42 (qui sera different du token)
|
||||||
# - will probably change
|
# - will probably change
|
||||||
print(json.dumps(content))
|
|
||||||
try:
|
try:
|
||||||
if (content["type"] == "byPass"):
|
if (content["type"] == "byPass"):
|
||||||
loginByPass(socket, content)
|
loginByPass(socket, content)
|
||||||
|
@ -3,7 +3,9 @@ from django.shortcuts import render
|
|||||||
from .models import User
|
from .models import User
|
||||||
|
|
||||||
def index(request):
|
def index(request):
|
||||||
|
request.session.save()
|
||||||
return render(request, "index.html", {})
|
return render(request, "index.html", {})
|
||||||
|
|
||||||
def homePage(request):
|
def homePage(request):
|
||||||
|
request.session.save()
|
||||||
return render(request, "homePage.html", {})
|
return render(request, "homePage.html", {})
|
||||||
|
@ -24,7 +24,8 @@ class WebsocketHandler(WebsocketConsumer):
|
|||||||
self.accept()
|
self.accept()
|
||||||
self.send(text_data=json.dumps({"type":"logged_in", "content":{
|
self.send(text_data=json.dumps({"type":"logged_in", "content":{
|
||||||
"status":self.scope["session"].get("logged_in",False),
|
"status":self.scope["session"].get("logged_in",False),
|
||||||
"username":self.scope["session"].get("username",None)
|
"username":self.scope["session"].get("username",None),
|
||||||
|
"id":self.scope["session"].get("id",0)
|
||||||
}}))
|
}}))
|
||||||
print("new client")
|
print("new client")
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user