Nano Hash - криптовалюты, майнинг, программирование

Аутентификация Firebase, firebase не определена

Я пытаюсь создать страницу входа в свой проект firebase, но всегда, когда я отправляю параметры функциям, она возвращает «Firebase не определена. Вот мой код:

<button id="login" onclick="signIn()"><Login</button>

Функция signIn() только изменяет href на http://localhost:5000/signin/:email/:password

тогда у меня есть это

const functions = require('firebase-functions');
const adm = require('firebase-admin');
const express = require('express');
const signin = require('./modules/signin');
const firebase = require("firebase");

// // Create and Deploy Your First Cloud Functions
adm.initializeApp(
    functions.config().adm
);

const app = express();

app.get('/signin/:email/:password', (request, response) => {
    exports.signin = signin(request.params.email, request.params.password);    
});

exports.app = functions.https.onRequest(app);

и моя функция только

function signin (email, password) {
firebase.auth().signInWithEmailAndPassword(email, password).then(function(user) {
    // user signed in
    console.log ("Usuário logado com sucesso!");
    return True;
    }).catch(function(error) {
        var errorCode = error.code;
        var errorMessage = error.message;

        if (errorCode === 'auth/wrong-password') {
            // alert('Wrong password.');
            return false;
        } else {
            alert(errorCode+": "+errorMessage); 
            return false;        
        }
    });

}

module.exports = signin;

Я пытаюсь использовать index.js в папке функций в качестве типа «контроллера» для вызова функций на бэкэнде, но у меня возникли проблемы с решением этой простой проблемы.


Ответы:


1

Вы не можете использовать SDK клиента Firebase в Cloud Functions. Облачные функции считаются серверным кодом и не запускаются в браузере. Если вы хотите войти в систему пользователя, вам нужно использовать SDK в коде браузера, а не код бэкенда.

28.05.2019
Новые материалы

Кластеризация: более глубокий взгляд
Кластеризация — это метод обучения без учителя, в котором мы пытаемся найти группы в наборе данных на основе некоторых известных или неизвестных свойств, которые могут существовать. Независимо от..

Как написать эффективное резюме
Предложения по дизайну и макету, чтобы представить себя профессионально Вам не позвонили на собеседование после того, как вы несколько раз подали заявку на работу своей мечты? У вас может..

Частный метод Python: улучшение инкапсуляции и безопасности
Введение Python — универсальный и мощный язык программирования, известный своей простотой и удобством использования. Одной из ключевых особенностей, отличающих Python от других языков, является..

Как я автоматизирую тестирование с помощью Jest
Шутка для победы, когда дело касается автоматизации тестирования Одной очень важной частью разработки программного обеспечения является автоматизация тестирования, поскольку она создает..

Работа с векторными символическими архитектурами, часть 4 (искусственный интеллект)
Hyperseed: неконтролируемое обучение с векторными символическими архитектурами (arXiv) Автор: Евгений Осипов , Сачин Кахавала , Диланта Хапутантри , Тимал Кемпития , Дасвин Де Сильва ,..

Понимание расстояния Вассерштейна: мощная метрика в машинном обучении
В обширной области машинного обучения часто возникает необходимость сравнивать и измерять различия между распределениями вероятностей. Традиционные метрики расстояния, такие как евклидово..

Обеспечение масштабируемости LLM: облачный анализ с помощью AWS Fargate и Copilot
В динамичной области искусственного интеллекта все большее распространение получают модели больших языков (LLM). Они жизненно важны для различных приложений, таких как интеллектуальные..