Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Select an option

  • Save omar-vasquez-dev/3ec8c026b90f3dbe83e180be36041ba5 to your computer and use it in GitHub Desktop.

Select an option

Save omar-vasquez-dev/3ec8c026b90f3dbe83e180be36041ba5 to your computer and use it in GitHub Desktop.

Revisions

  1. omar-vasquez-dev created this gist Apr 3, 2020.
    40 changes: 40 additions & 0 deletions auth firebase back generate token
    Original file line number Diff line number Diff line change
    @@ -0,0 +1,40 @@
    const { app, BrowserWindow } = require('electron')

    const firebase = require('firebase');

    const firebaseConfig = { ... };

    const firebaseToken = '...';

    const fbApp = firebase.initializeApp(firebaseConfig);
    const auth = fbApp.auth();
    const db = fbApp.firestore();

    const updateMyDoc = (fields) => {
    return new Promise(async (resolve, reject) => {
    try {
    if (!auth.currentUser) {
    throw new Error('Unable to update user roster, not logged in?');
    }

    const userID = auth.currentUser.uid;
    await db.doc(`tests/${userID}`).update(fields);
    resolve();
    } catch (error) {
    reject(error);
    }
    });
    }

    const firebaseTest = async () => {
    try {
    await auth.signInWithCustomToken(firebaseToken);
    console.log('all good, trying to write...');
    await updateMyDoc({ 'key2': 'value2' });
    await auth.signOut();
    } catch (error) {
    console.error('Something went wrong:', error);
    }
    };

    app.on('ready', firebaseTest);