Feathers: Anmeldung und Authentifizierung kombinieren

Erstellt am 27. Dez. 2016  ·  3Kommentare  ·  Quelle: feathersjs/feathers

Ich habe das Gefühl, dass es nicht viele Erklärungen für die "Magie" hinter der Authentifizierung gibt. Ich möchte meine Registrierungsaktion kombinieren, um ein JWT-Token zurückzugeben. Könnte mir jemand helfen?

Ich denke es wäre ungefähr so:

  • Middleware/signup.js
    ```js
    const neuerBenutzer = {
    Benutzer: req.body.user,
    pass: req.body.pass
    }
    app.service('users').create(newUser)
    .then(user => app.authenticate(user)) // Authentifizierung aber nicht definiert
    .then(authenticatedUser => res.json(authenticatedUser));
    ````

Kann ich Hilfe oder Erklärungen zur Verwendung der Authentifizierung außerhalb des magischen Reiches erhalten? Vielen Dank!

Bearbeiten: Ich habe dies zu einem Problem gemacht, weil ich der Meinung bin, dass es mehr Dokumentation zur manuellen Authentifizierung geben sollte. Dies ist eher eine Demonstration, ich weiß bereits, dass es ein Problem gibt, wie z. B. #467

Hilfreichster Kommentar

Die generierte App verwendet jedoch weiterhin die alte Authentifizierung. In diesem Fall muss dies der Fall sein

const { email, password } = req.body;

app.service('users').create({ email, password })
  .then(user => app.service('auth/local').create({ email, password }))
  .then(authenticatedUser => res.json(authenticatedUser));

Alle 3 Kommentare

@rstegg es sieht so aus, als wärst du ziemlich nah dran. Wenn app.authenticate() definiert ist, verwenden Sie wahrscheinlich die Anmelde-Middleware vor dem Authentifizierungs-Plugin. Stellen Sie zunächst sicher, dass das Authentifizierungs-Plugin verwendet wird.

const newUser = { 
  user: req.body.user,
  pass: req.body.pass
}
app.service('users').create(newUser)
  .then(user => app.authenticate(user)) // authenticate should be defined if you register middleware in the correct order.
  .then(jwt => res.json(jwt));

Die generierte App verwendet jedoch weiterhin die alte Authentifizierung. In diesem Fall muss dies der Fall sein

const { email, password } = req.body;

app.service('users').create({ email, password })
  .then(user => app.service('auth/local').create({ email, password }))
  .then(authenticatedUser => res.json(authenticatedUser));

Dieses Problem wurde automatisch gesperrt, da es nach dem Schließen in letzter Zeit keine Aktivität gab. Bitte öffnen Sie eine neue Ausgabe mit einem Link zu dieser Ausgabe für verwandte Fehler.

War diese Seite hilfreich?
0 / 5 - 0 Bewertungen