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

113
Visualizações
Inicio de sesión de Firebase con google para web sin redireccionamiento

Estaba trabajando en un proyecto de reacción en el que quería implementar el inicio de sesión de Google, así que usé firebase y escribí el siguiente código:

 import {initializeApp} from "firebase/app"; import "firebase/auth"; import { getAuth } from "firebase/auth"; const firebaseConfig = { apiKey: "****", authDomain: "***", projectId: "***", storageBucket: "***", messagingSenderId: "***", appId: "***", measurementId: "***" }; const app = initializeApp(firebaseConfig); export const auth = getAuth(app); export default app;

Creación de contexto para que la función sea accesible en toda la aplicación:

 import React from 'react'; import FirebaseContext from './FirebaseContext'; import { auth } from '../Firebase/firebase'; import { signInWithRedirect,GoogleAuthProvider,createUserWithEmailAndPassword } from "firebase/auth"; const FirebaseState = (props)=>{ const reactSignup = (email,password)=>{ return createUserWithEmailAndPassword(auth,email,password); } const googleSignin = ()=>{ const provider = new GoogleAuthProvider(); return signInWithRedirect(auth,provider); } return( <FirebaseContext.Provider value={{reactSignup,googleSignin}}>{props.children}</FirebaseContext.Provider> ) } export default FirebaseState;

Llamar a la función en el clic del botón deseado

 const {googleSignin} = useContext(FirebaseContext); const handleGoogleSignin = async()=>{ try{ console.log("Sign in attempted"); await googleSignin(); history.push("/main"); }catch(err){ console.log(err); } }

Ahora, el problema es que cada vez que ejecuto una aplicación usando npm run start y se hace clic en el botón, no se redirige para iniciar sesión, pero cuando la aplicación se detiene, puede redirigir, pero como mi aplicación ya no se está ejecutando, eso no tiene sentido. usar.

Grabación de pantalla de 30 segundos del problema

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

0

¿Intentas cambiar signInWithRedirect a signInWithPopup ?

Asi que

 import React from 'react'; import FirebaseContext from './FirebaseContext'; import { auth } from '../Firebase/firebase'; import { signInWithPopup,GoogleAuthProvider,createUserWithEmailAndPassword } from "firebase/auth"; const FirebaseState = (props)=>{ const reactSignup = (email,password)=>{ return createUserWithEmailAndPassword(auth,email,password); } const googleSignin = ()=>{ const provider = new GoogleAuthProvider(); return signInWithPopup(auth,provider); } return( <FirebaseContext.Provider value={{reactSignup,googleSignin}}>{props.children}</FirebaseContext.Provider> ) } export default FirebaseState;

Idea alternativa

Desconecte signInWithRedirect de Context y use la función directamente en la función de su componente de esta manera:

 import { auth, provider } from '../../config'; import { signInWithPopup } from '@firebase/auth'; import { Button } from '@chakra-ui/button'; export default function Signup() { const loginWithGoogle = () => { signInWithPopup(auth, provider); }; return ( <div> <Button onClick={loginWithGoogle}>Signin With Google</Button> </div> ); }

Idea alternativa 2

 Go to Firebase Panel > Authentication > Sign-in Method

Verifique su dominio, si su dominio está en la lista, elimínelo y agréguelo nuevamente. De lo contrario, agregue su dominio.

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