Saltar al contenido

Usando Firebase con Electron

Solución:

No sé si esta es la mejor solución, pero es una solución alternativa.

crear un archivo server.js con un servidor expreso simple

“server.js”

var express = require('express');
var http = require('http');
var path = require('path');

var appServer = express();
appServer.use(express.static(path.join(__dirname, '')));

appServer.get('*', (req, res) => {
    res.sendFile(__dirname + 'index.html');
});

http.createServer(appServer).listen(3007, function() {
    console.log('Express server listening on port');
});

En su main.js (electron-main-js-file)

En la parte superior de main.js, inicie el servidor de nodo

require('./server');

y cambie “win.loadURL”

win.loadURL('http://localhost:3007');

He bifurcado su proyecto e implementado, el error de firebase desapareció pero jQuery no está definido, creo que puede solucionarlo.

https://github.com/diegoddox/sad-electron-firebase-error

Por ahora, puede suprimir este error eliminando la línea authDomain de su config. authDomain es necesario para las operaciones Auth signInWithPopup / signInWithRedirect, pero todo lo demás debería funcionar.

Se está trabajando en una versión de la biblioteca que arroja ese error solo cuando realmente intenta hacer un signInWithPopup / Redirect.

Puede usar GitHub, Twitter, Facebook, Google Provider de firebase auth con electron usando el flujo de inicio de sesión manual y firebase auth signInWithCredential método.

https://firebase.google.com/docs/auth/web/github-auth#handle_the_sign-in_flow_manually

Creé una biblioteca útil para estos casos.

https://github.com/mironal/electron-oauth-helper#firebase-auth-integration

// Github manually flow example.

const { OAuth2Provider } = require("electron-oauth-helper")

const config = { /* oauth config. please see example/main/config.example.js.  */}
const provider = new OAuth2Provider(config)
provider.perform()
  .then(resp => {
    const query = querystring.parse(resp)
    const credential = firebase.auth.GithubAuthProvider.credential(query.access_token)
    firebase.auth().signInWithCredential(credential)
    .then(user => {
        console.log(user)
    })
    .catch(error => console.error(error))
  })
  .catch(error => console.error(error))
¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *