Springboardmen commited on
Commit
9831707
·
verified ·
1 Parent(s): 5e91358

Create auth.py

Browse files
Files changed (1) hide show
  1. auth.py +30 -0
auth.py ADDED
@@ -0,0 +1,30 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ import random
2
+ import jwt
3
+ import datetime
4
+ import os
5
+ from dotenv import load_dotenv
6
+
7
+ load_dotenv()
8
+
9
+ SECRET_KEY = os.getenv("JWT_SECRET", "fallback_secret")
10
+
11
+ # Generate OTP
12
+ def generate_otp():
13
+ return str(random.randint(100000, 999999))
14
+
15
+ # Create JWT Token
16
+ def create_jwt(email):
17
+ payload = {
18
+ "email": email,
19
+ "exp": datetime.datetime.utcnow() + datetime.timedelta(hours=1)
20
+ }
21
+ token = jwt.encode(payload, SECRET_KEY, algorithm="HS256")
22
+ return token
23
+
24
+ # Verify JWT
25
+ def verify_jwt(token):
26
+ try:
27
+ decoded = jwt.decode(token, SECRET_KEY, algorithms=["HS256"])
28
+ return decoded
29
+ except:
30
+ return None