Skip to content

Instantly share code, notes, and snippets.

@antonybudianto
Last active April 10, 2024 12:51
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save antonybudianto/3b50d886b1c8f08f16cd792310e8733f to your computer and use it in GitHub Desktop.
Save antonybudianto/3b50d886b1c8f08f16cd792310e8733f to your computer and use it in GitHub Desktop.
How to authenticate Firebase on localhost through already auth-ed host
var db;
function createDatabase() {
const request = window.indexedDB.open('firebaseLocalStorageDb', 1);
request.onsuccess = (e) => {
// Create DB connection
db = request.result;
};
}
createDatabase();
function addData(data){
const transaction = db.transaction('firebaseLocalStorage', 'readwrite');
transaction.oncomplete = function(event) {
//...
};
transaction.onerror = function(event) {
//...
};
const objectStore = transaction.objectStore('firebaseLocalStorage', {keyPath: 'fbase_key'});
// Add login
const request = objectStore.put({fbase_key:data.fbase_key, value: data.value});
// Get
// const request = objectStore.get("firebase:authUser:abcdefghj:[DEFAULT]");
request.onsuccess = () => {
console.log(`new data added:`, request.result);
}
request.onerror = (err)=> {
console.error(`Error to add: ${err}`)
}
}
function getData(fbaseKey){
const transaction = db.transaction('firebaseLocalStorage', 'readwrite');
transaction.oncomplete = function(event) {
//...
};
transaction.onerror = function(event) {
//...
};
const objectStore = transaction.objectStore('firebaseLocalStorage', {keyPath: 'fbase_key'});
// Add login
//const request = objectStore.put({fbase_key:data.fbase_key, value: data.value});
// Get
const request = objectStore.get(fbaseKey);
request.onsuccess = () => {
console.log(`GET:`, request.result);
}
request.onerror = (err)=> {
console.error(`Error to get: ${err}`)
}
}
// On your logged host..
const data = getData('KEY_ON_HOST')
// On your localhost
addData({
fbase_key: 'KEY_ON_LOCAL',
value: data
})
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment