artintel235 commited on
Commit
ceda783
·
verified ·
1 Parent(s): f2725dc

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +7 -10
app.py CHANGED
@@ -4,6 +4,7 @@ from firebase_admin import credentials, auth, db
4
  import os
5
  import json
6
  import requests
 
7
  # Load Firebase credentials from Hugging Face Secrets
8
  firebase_creds = os.getenv("FIREBASE_CREDENTIALS")
9
  FIREBASE_API_KEY = os.getenv("FIREBASE_API_KEY")
@@ -14,9 +15,9 @@ else:
14
 
15
  # Initialize Firebase (only once)
16
  if not firebase_admin._apps:
17
- cred = credentials.Certificate(firebase_creds) # Replace with your Firebase service account key
18
  firebase_admin.initialize_app(cred, {
19
- 'databaseURL': 'https://creative-623ef-default-rtdb.firebaseio.com/' # Replace with your Firebase Realtime Database URL
20
  })
21
 
22
  # Initialize session state
@@ -46,11 +47,9 @@ def register_callback():
46
  email = st.session_state.reg_email
47
  password = st.session_state.reg_password
48
  try:
49
- # Step 1: Create a new user in Firebase
50
  user = auth.create_user(email=email, password=password)
51
  st.success("Registration successful! Sending verification email...")
52
 
53
- # Step 2: Sign in the user programmatically to get the id_token
54
  url = f'https://identitytoolkit.googleapis.com/v1/accounts:signInWithPassword?key={FIREBASE_API_KEY}'
55
  data = {
56
  'email': email,
@@ -61,10 +60,9 @@ def register_callback():
61
  result = response.json()
62
 
63
  if 'idToken' in result:
64
- id_token = result['idToken'] # Retrieve the id_token
65
- st.session_state.id_token = id_token # Store the id_token in session state
66
 
67
- # Step 3: Send the verification email
68
  verification_result = send_verification_email(id_token)
69
  if verification_result['status'] == 'success':
70
  st.success(f"Verification email sent to {email}.")
@@ -80,10 +78,9 @@ def login_callback():
80
  email = st.session_state.login_email
81
  password = st.session_state.login_password
82
  try:
83
- # Authenticate user with Firebase
84
  user = auth.get_user_by_email(email)
85
  st.session_state.logged_in = True
86
- st.session_state.current_user = user.uid # Store the user UID in session state
87
  st.success("Logged in successfully!")
88
  except Exception as e:
89
  st.error(f"Login failed: {e}")
@@ -129,7 +126,7 @@ def main_app():
129
  st.write("Enter a name below to get a greeting.")
130
 
131
  # Input field for name
132
- name = st.text_input("Enter a name", key="name_input")
133
 
134
  # Display greeting in real-time
135
  if name:
 
4
  import os
5
  import json
6
  import requests
7
+
8
  # Load Firebase credentials from Hugging Face Secrets
9
  firebase_creds = os.getenv("FIREBASE_CREDENTIALS")
10
  FIREBASE_API_KEY = os.getenv("FIREBASE_API_KEY")
 
15
 
16
  # Initialize Firebase (only once)
17
  if not firebase_admin._apps:
18
+ cred = credentials.Certificate(firebase_creds)
19
  firebase_admin.initialize_app(cred, {
20
+ 'databaseURL': 'https://creative-623ef-default-rtdb.firebaseio.com/'
21
  })
22
 
23
  # Initialize session state
 
47
  email = st.session_state.reg_email
48
  password = st.session_state.reg_password
49
  try:
 
50
  user = auth.create_user(email=email, password=password)
51
  st.success("Registration successful! Sending verification email...")
52
 
 
53
  url = f'https://identitytoolkit.googleapis.com/v1/accounts:signInWithPassword?key={FIREBASE_API_KEY}'
54
  data = {
55
  'email': email,
 
60
  result = response.json()
61
 
62
  if 'idToken' in result:
63
+ id_token = result['idToken']
64
+ st.session_state.id_token = id_token
65
 
 
66
  verification_result = send_verification_email(id_token)
67
  if verification_result['status'] == 'success':
68
  st.success(f"Verification email sent to {email}.")
 
78
  email = st.session_state.login_email
79
  password = st.session_state.login_password
80
  try:
 
81
  user = auth.get_user_by_email(email)
82
  st.session_state.logged_in = True
83
+ st.session_state.current_user = user.uid
84
  st.success("Logged in successfully!")
85
  except Exception as e:
86
  st.error(f"Login failed: {e}")
 
126
  st.write("Enter a name below to get a greeting.")
127
 
128
  # Input field for name
129
+ name = st.text_input("Enter a name") # Removed key here
130
 
131
  # Display greeting in real-time
132
  if name: