Wie zu authentifizieren eine Benutzer-in FB-admin in nodejs?

Im moment bin ich erstellen eine FB-API auf nodejs. Ich möchte, um allen FB-Sachen (wie Authentifizierung) mit FB-admin auf nodejs. Aber was ist der richtige Weg, um die Authentifizierung eines Benutzers über nodejs-in FB-admin ohne die Javascript-FB-SDK auf der client-Seite? Auf der offiziellen Dokumentation für den admin ich nicht eine Funktion, die aufgerufen wird signInWithEmailAndPassword (wie auf der client-Seite, SDK) für nodejs. Es gibt nur eine Funktion mit dem Namen: "getUserByEmail", aber diese Funktion überprüft nicht, ob der Benutzer das korrekte Passwort eingegeben.

Dies ist mein form:

<form class="sign-box" action="/login" method="post">

      <div class="form-group">
          <input id="username" name="username" type="text" class="form-control" placeholder="E-Mail"/>
      </div>
      <div class="form-group">
          <input id="password" name="password" type="password" class="form-control" placeholder="Password"/>
      </div>
      <button type="submit" class="btn btn-rounded">Sign in</button>

</form>

Sobald das Formular gesendet wird gebe ich die Werte an mein API in nodejs:

app.post('/login', urlencodedParser, function (req, res) {

    //getting the values

    response = {
        username: req.body.username,
        password: req.body.password

    };    

    //authenticate the user here, but how ?

});

Meine erste Idee war die Verwendung der FB-SDK auf dem client melden Sie sich mit signInWithEmailAndPassword und die uid. Einmal hatte ich die UID wollte ich schickte die UID zu nodejs und rufen Sie die Funktion createCustomToken und die generierten token (mit einigen zusätzlichen Forderungen) an den client zurück. Sobald ich die token zurück, die ich benutzen würde die Funktion signWithCustomToken (auf der client-Seite), um den Benutzer zu authentifizieren. Ist dieser Weg richtig oder gibt es eine bessere Möglichkeit ?

  • Normalerweise ist der Benutzer authentifiziert ist, auf der client-Seite. FB ist optimiert und konzipiert für die Ausführung auf der client-Seite. Sowieso, können Sie den client verwenden node.js require('firebase') - Bibliothek auf Ihrem server, wenn Sie darauf bestehen. Hat der client-Seite-APIs Sie müssen signInWithEmailAndPassword usw.
  • Ja, das ist wahr. Der Grund, warum ich mich mit FB-admin ist, die ich hinzufügen können benutzerdefinierte Ansprüche auf das token und schickt es zurück an den Benutzer. Aber das ist ein guter Ansatz zur Nutzung FB-Modul in nodejs, sich zu authentifizieren, und senden Sie das token zurück. Danke!
InformationsquelleAutor Harry | 2017-07-04
Schreibe einen Kommentar