Spaces:
Running
Running
import firebase_admin | |
from firebase_admin import firestore | |
from firebase_admin import auth | |
import globales | |
print("Esto es globales, firebase cred:") | |
print(globales) | |
firebase_admin.initialize_app(globales.firebase_cred) | |
db = firestore.client() | |
#dato es el dato que traes como el nombre del user. | |
#info es la info de ese dato que estás buscando, como token. | |
def obtenDato(coleccion, dato, info): | |
#Future: Tentativamente ésta parte podría solo hacerse una vez y vivir en la app para ser reutilizado. | |
#Primero debemos definir la referencia al documento, o sea a la hoja de usuario. | |
doc_ref = db.collection(coleccion).document(dato) | |
#Éste es el documento que tiene los datos de ella. | |
documento = doc_ref.get() | |
if documento.exists: | |
pass #El documento si existe. | |
else: | |
print("No existe el documento, es un nuevo usuario.") | |
creaDato(coleccion, dato, 'tokens', 5) #porque agregará 5 tokens. | |
#Recuerda la conversión a diccionario. | |
documento = doc_ref.get() | |
diccionario = documento.to_dict() | |
return diccionario.get(info) | |
def editaDato(coleccion, dato, info, contenido): | |
#Primero debemos definir la referencia al documento, o sea a la hoja de usuario. | |
doc_ref = db.collection(coleccion).document(dato) | |
doc_ref.update({ | |
# 'quote': quote, | |
info: contenido, | |
}) | |
def creaDato(coleccion, dato, info, contenido): | |
#Primero debemos definir la referencia al documento, o sea a la hoja de usuario. | |
doc_ref = db.collection(coleccion).document(dato) | |
doc_ref.set({ | |
# 'quote': quote, | |
info: contenido, | |
}) | |
def verificar_token(id_token): | |
"""Verifica el token de ID de Firebase.""" | |
try: | |
# Verifica el token y decodifica la información del usuario | |
decoded_token = auth.verify_id_token(id_token) | |
uid = decoded_token['uid'] | |
return uid # Retorna el UID del usuario si el token es válido | |
except auth.InvalidIdTokenError as e: | |
print(f"Token inválido: {e}") | |
return None # Retorna None si el token es inválido |