Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

147
Visualizações
Cómo configurar reclamos personalizados en mi sitio web React para una página de inicio de sesión

Quiero configurar reclamos personalizados para una cierta cantidad de usuarios, digamos que 5 usuarios serían administradores en mi sitio web. Quiero que estos 5 usuarios puedan iniciar sesión a través de la página de inicio de sesión que los redirigiría al tablero.

pero todavía no entiendo completamente el concepto de reclamos personalizados y cómo usarlos, y la documentación de firebase está limitada con ejemplos.

En su ejemplo, muestran que puedo pasar un uid al que quiero asignar un reclamo personalizado, pero ¿cómo se supone que esto es una variable cuando quiero que los uid's ciertos Users collection de mi base de datos de Firestore sean administradores y tengan un reclamo personalizado? , en otras palabras, dónde colocaría este código o cómo asignaría un reclamo personalizado a más de un usuario a la vez y cómo y dónde se ejecutaría este código.

si alguien me puede dar un ejemplo de cómo haría que esto funcione.

Aquí esta lo que hice:

creó un archivo firebaseAdmin.js:

 var admin = require("firebase-admin"); // lets say for instance i want these two users to be admins //2jfow4fd3H2ZqYLWZI2s1YdqOPB42 //2jfow4vad2ZqYLWZI2s1YdqOPB42 what am i supposed to do? admin .auth() .setCustomUserClaims(uid, { admin: true }) .then(() => { // The new custom claims will propagate to the user's ID token the // next time a new one is issued. });

Sinceramente, no sé qué hacer a partir de aquí.

about 4 years ago · Juan Pablo Isaza
1 Respostas
Responde à pergunta

0

Los reclamos personalizados solo se pueden configurar desde un entorno de servidor privilegiado a través del SDK de administración de Firebase. Las formas más sencillas son usar un script de Node.js (ejecutando el SDK de administrador) o una función en la nube (que también usa el SDK de administrador).

Veamos el ejemplo de una función de nube invocable a la que llama desde su front-end (y en la que puede comprobar el UID del usuario que la llama, es decir, un superadministrador).

 exports.setAdminClaims = functions.https.onCall(async (data, context) => { // If necessary check the uid of the caller, via the context object const adminUIDs = ['2jfow4fd3H2ZqYLWZI2s1YdqOPB42', '767fjdhshd3H2ZqYLWZI2suyyqOPB42']; await Promise.all(adminUIDs.map(uid => admin.auth().setCustomUserClaims(uid, { admin: true }))); return { result: "Operation completed" } });

Un script de Node.js sería similar:

 #!/usr/bin/node const admin = require('firebase-admin'); admin.initializeApp({ credential: admin.credential.cert(".....json") // See remark on the private key below }); const adminUIDs = ['2jfow4fd3H2ZqYLWZI2s1YdqOPB42', '767fjdhshd3H2ZqYLWZI2suyyqOPB42']; Promise.all(adminUIDs.map(uid => admin.auth().setCustomUserClaims(uid, { admin: true }))) .then(() => { console.log("Operation completed") })

Debe generar un archivo de clave privada en formato JSON para su cuenta de servicio, como se detalla en el documento .


Luego, cuando se configuran los Reclamos, puede acceder a estos Reclamos en su aplicación web y adaptar la interfaz de usuario (o el flujo de navegación) según el hecho de que el usuario tenga (o no) el reclamo de admin . Más detalles aquí en el documento.

about 4 years ago · Juan Pablo Isaza Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda