2016-08-19 4 views
0

ich diese Anleitung befolgt haben: https://firebase.google.com/docs/server/setupKann nicht Feuerbasis benutzerdefinierte Token generieren

Ich habe meinen Schlüssel erstellt und meine * .json Datei empfangen. Ich habe auch diesen Code mit den erforderlichen npm Paketen installiert.

var http = require('http'); 
var httpdispatcher = require('httpdispatcher'); 
var firebase = require('firebase'); 

firebase.initializeApp({ 
    serviceAccount: "<my-service-account>.json", 
    databaseURL: "https://<project-id>.firebaseio.com" 
}); 

const PORT=8080; 

httpdispatcher.onGet("/firebaseCustomToken", function(req, res) { 
    var uid = req.params.uid; 

    if (uid) { 
     var customToken = firebase.auth().createCustomToken(uid); 
     res.writeHead(200, {'Content-Type': 'application/json'}); 
     res.end(JSON.stringify({'firebaseJWT' : customToken})); 
    } else { 
     res.writeHead(400, {'Content-Type': 'text/plain'}); 
     res.end('No uid parameter specified'); 
    } 
});  

function handleRequest(request, response){ 
    try { 
     //log the request on console 
     console.log(request.url); 
     //Disptach 
     httpdispatcher.dispatch(request, response); 
    } catch(err) { 
     console.log(err); 
    }  
} 

//create a server 
var server = http.createServer(handleRequest); 

//start our server 
server.listen(PORT, function(){  
    console.log("Server listening on: http://localhost:%s", PORT); 
}); 

jedoch beim Senden einer GET-Anforderung an/firebaseCustomToken? Uid = 123456 ich diese Fehler

[Error: error:0906D066:PEM routines:PEM_read_bio:bad end line] 

ich dies gelesen haben, könnte mit der Formatierung des privaten Schlüssels zu tun, aber wie könnte dies sein, wie ich die Datei von der Firebase-Konsole nicht geändert haben?

+0

Und Sie haben tatsächlich diesen Teil richtig ' .json' geändert? –

Antwort

0

Die PEM ist der Schlüssel zum Zugriff auf Firebase, den Sie in der .json-Datei heruntergeladen haben sollten. Es könnte sein, dass der Pfad zu deiner .json-Datei falsch ist.

Sie werden wahrscheinlich in einen anderen Fehler geraten, wenn Sie dies jedoch beheben. Firebase und der Server stellen eine Websocket-Verbindung her. Wenn createCustomToken() aufgerufen wird, wird das Token generiert und Firebase über die Websocket-Verbindung bekannt. Sie senden das Token an den Client, um die Authentifizierung als Antwort auf die Clientanforderung anzufordern. Der Client meldet sich dann an, indem er .signInWithCustomToken (Token) aufruft.

Sie müssen firebase auch auf der Clientseite konfigurieren und initialisieren. Sieh dir die Web-, iOS- oder Android-Dokumentation an.

Lassen Sie mich wissen, wenn Sie es nicht funktioniert, kann ich morgen Code-Schnipsel veröffentlichen.

+0

Ich habe es gerade wieder gefeuert heute Abend hat nichts geändert und es hat funktioniert! Sehr merkwürdig vielleicht ein Vermehrungsding auf dem Firebase-Ende ?? - Danke für die Antwort –

Verwandte Themen