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

241
Visualizações
Autenticación de pasaporte a través de ajax

Lo que estoy tratando de lograr es realizar la autenticación de usuario a través de ajax usando el pasaporte. La forma recomendada de usar el pasaporte es activar el proceso de autorización a través de una solicitud GET que se activa con una etiqueta <a> normal. Después de una autenticación exitosa (o fallida), hay una redirección a una nueva página. Ahora, en lugar de usar un enlace html para activar la ruta, quiero hacerlo a través de ajax. El problema aquí es que cuando intento esto con una estrategia de autenticación de terceros, como passport-facebook , aparece un error de CORS:

 XMLHttpRequest cannot load [the facebook auth URL]' has been blocked by CORS policy: No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'http://localhost:8080' is therefore not allowed access.

Aquí está el código del lado del servidor relevante:

 // route for facebook authentication and login app.get('/auth/facebook', passport.authenticate('facebook', { scope : ['email'] })); // handle the callback after facebook has authenticated the user app.get('/auth/facebook/callback', (req, res, next) => { passport.authenticate('facebook', (err, user, info) => { req.login(user, function(err) { if(err) return next(err); return res.status(200).json({ success: "All good man!" }); }) })(req, res, next); });

Mientras estoy en el navegador, simplemente hago:

 axios.get('/auth/facebook').then((response) => { console.log(response); });

Encontré varias preguntas similares, pero ninguna de ellas parecía tener una respuesta satisfactoria. ¿Hay alguna manera de hacer esto realmente? ¿O una solución inteligente? ¿Tal vez una forma de enviar una respuesta JSON incluso si la ruta se activó mediante un enlace html?

about 4 years ago · Santiago Trujillo
1 Respostas
Responde à pergunta

0

No estoy seguro de que esto sea posible. Primero, si Facebook no habilita CORS, no hay mucho que pueda hacer al respecto (excepto usar algo como JSONP, pero eso también debe estar habilitado). Pero lo que es más importante, creo que la forma en que inician sesión no es devolviéndole un token que podría usar, sino almacenando una cookie. Para eso necesitan estar en su propio dominio y no puedes fingir eso con Ajax. Por último, me imagino que es parte de su forma de generar confianza con sus usuarios mostrar siempre el mismo formulario de inicio de sesión/autorización, por lo que creo que harían todo lo posible para evitar que usted evite esto.

Todo esto es hipotético, mente, no he usado ninguna de las herramientas que mencionas :)

about 4 years ago · Santiago Trujillo 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