10
votes

firebase.auth (). CreateUserwithemailApassword non défini n'est pas une fonction

Je suis à la suite de la documentation Firebase sur la gestion de l'utilisateur xxx

i obtenir l'erreur suivante xxx

de faire un peu de recherche Je pense que non définie n'est pas une fonction est fondamentalement une version javascript d'une exception de pointeur NULL (pourrait être incorrecte)

J'ai configuré mon compte de service et votre projet sur Firebase. Je cours sur Localhost. Merci. Je cherche principalement des conseils de débogage, car je ne suis pas sûr de tester ce qui ne fonctionne pas.


6 commentaires

Identique à Stackoverflow.com/questions/37485998/... (n'a pas encore de réponse).


@Frankvanpuffelen s'excuse, n'a pas encore vu cette question.


J'ai trouvé une œuvre de travail pour cela en utilisant l'authentification anonyme de l'utilisateur du côté du client. Veuillez élaborer votre cas d'utilisation afin que je puisse écrire une réponse en fonction de cela.


@Niwinsanthosh Bonjour, merci pour votre contribution. Ce qui a fini par se produire, j'ai été largué le code côté serveur Nodejs pour structurer mon application Web et utiliser l'hébergement statique Firebase. L'utilisation de la Web statique était plus facile pour moi. Depuis que, cependant, je suis en train de regarder le serveur, car je souhaite envoyer des courriels personnalisés, mais Firebase a déprécié cette fonctionnalité :(.


Je pense que cela serait possible si nous créons un utilisateur anonyme en Firebase du côté du client et toutes les tâches de Backend avec Node JS. Ensuite, une fois le processus de backend terminé, renvoyez le nom d'utilisateur et le mot de passe pour le relier au côté du client à l'aide de l'utilisateur anonyme créé précédemment.


Stackoverflow.com / Questions / 38813062 / ...


5 Réponses :


0
votes

Cela pourrait-il être parce que vous avez défini l'erreur comme "ERR", mais sous errorormessage, "error.message" était le code? Pas tout à fait sûr, mais essayez-le et voyez s'il corrige:

var firebase = require('firebase');

// Initialize Firebase
firebase.initializeApp({
    serviceAccount: "./<mysecreturledittedout>.json",
    databaseURL: "https://<mydatabaseurljusttobesafe>.firebaseio.com"
});

router.get('/create', function(req, res){
    var email = req.email;
    var password = req.password;
    firebase.auth().createUserWithEmailAndPassword(email, password).catch(function(error){ 
        var errorCode = error.code;
        var errorMessage = error.message;
        console.log("ERROR");
        console.log(errorCode, errorMessage);
    });
});


1 commentaires

Désolé que cela ne corrige pas le problème. Je les ai tous changés vers ERR . Merci pour votre temps



6
votes

Si vous n'avez pas encore résolu le problème, j'ai découvert pourquoi cela donne une telle erreur et c'est parce que ce n'est vraiment pas une fonction.

Vous utilisez la référence Web comme votre guide lorsque vous devez utiliser la référence du serveur: https://firebase.google.com/docs/reference/node/firebase.auth.auth .

Comme vous pouvez le voir, Firebase.auth.auth est beaucoup différent sur le nœud.js API par rapport à l'API Web car il n'y a pas beaucoup de choses là-bas. Maintenant, vous devez faire face aux jetons, que je n'ai pas regardé au plus profond de l'API du serveur. D'autre part, vous pouvez simplement utiliser l'API Web, qui fait des choses que vous aviez à faire.


0 commentaires

1
votes

Je ne suis pas sûr que c'est correct, mais cela aide:

  1. dans console.firebase.google.com obtenir Script: li> ol>

    p>

        var firebase = require('./fb/firebase');
    // Initialize Firebase
    var config = {
        apiKey: "xxxxxxxxxxxxxxx",
        authDomain: "project-nnnnnnnnnnn.firebaseapp.com",
        databaseURL: "https://project-nnnnnnnnnnn.firebaseio.com",
        storageBucket: "project-nnnnnnnnnnn.appspot.com",
    };
    firebase.initializeApp(config);
    
    export function createUser (email : string, password:string){
        firebase.auth().createUserWithEmailAndPassword(email, password).catch(function(error) {
            if (error.code){
                // Handle Errors here.
                var errorCode = error.code;
                var errorMessage = error.message;
                alert(errorMessage);
                console.log(errorMessage);
            }
            else{
                // ...
            }
        });
    }


1 commentaires

Utilisation de captures, je peux utiliser un rappel pour gérer les erreurs, mais comment je peux exécuter un code JS lorsque l'enregistrement a réussi? EDIT: J'ai trouvé Stackoverflow.com/questions/38511285/...



3
votes

mise à jour
Parfois à ou avant Firebase 3.4.1 pour Node.js, CreateUserWithemailandpassword est devenu disponible.

original
AS de Firebase 3.1.0 pour Node.js, CreateUserWithEMailandpassword n'est pas encore pris en charge. Selon une réponse sur le groupe de Google Firebase, toutes les plates-formes ne comportant pas encore la parité dans les bibliothèques 3.x. L'interface de repos prend en charge la création d'utilisateurs, mais est clairement une approche différente de l'utilisation de la bibliothèque Node.js.

aller à https://groups.google.com/forum/#! Forum / Firebase-Talk et recherche de CreateUserWithemailAndPassword pour la dernière discussion.


1 commentaires

L'API de repos ne supporte plus la création d'utilisateurs: Stackoverflow.com/questions/36027535/...



0
votes

question est ancienne et je n'ai vu aucune réponse acceptée. Et pour les autres personnes qui font toujours face au même problème. C'est ce que j'ai fait pour résoudre mon problème.

  • retirer le nœud_modules
  • Retirez le Firebase de Package.json et Installez la dernière installation Firebase NPM Installation --Save Firebase
  • et exécutez NPM installer une fois de plus pour que toutes les autres dépendances obtiennent également installé

    Après que cela ajoutez xxx

    Quel que soit le module que vous souhaitez utiliser dans votre projet, vous pouvez mentionner en conséquence. Ensuite, initiez la Firebase xxx

    plus tard, vous pouvez écrire votre API pour créer un utilisateur avec courrier électronique et mot de passe xxx


0 commentaires