0

アカウントを作成した後、ユーザーを自動的にログインさせようとしています。/auth/local/作成したばかりのユーザーとパスワードを送信するようにリダイレクトする必要があります。

これは私のmiddleware/signup.js

'use strict';

module.exports = function(app) {
return function(req, res, next) {
const body = req.body;

// Get the user service and `create` a new user
app.service('users').create({
  email: body.email,
  password: body.password
})
// Then redirect to the login page
.then(user => app.post('/auth/local', function(req, res){
   req.body(user);
}))
// On errors, just call our error middleware
.catch(next);
 };
};

これはエラーを発生させません...ユーザーを作成した後の永遠の読み込みです。ヘルプ

4

1 に答える 1

0

まず第一に、応答を送信したり呼び出したりしていないため、永遠のロードですnextExpress ミドルウェアについては、こちらをお読みください。

それ以外に、なぜそれ自体から独自の API に対して POST 要求を行いたいのでしょうか? ここでは何が何であるかについて十分なコンテキストがありませんappが、コードはリクエストよりもルート定義のように見えます。ここでは、ユーザーを認証する関数を呼び出す方法が必要です。たとえば、パスポートを使用する場合:

'use strict';

module.exports = function(app) {
return function(req, res, next) {
const body = req.body;

// Get the user service and `create` a new user
app.service('users').create({
  email: body.email,
  password: body.password
})
// Then redirect to the login page
.then(user => passport.authenticate('local')(req, res, next))
// On errors, just call our error middleware
.catch(next);
 };
};
于 2016-11-27T03:29:54.513 に答える