のreq.userセッションで更新されたトークンを設定するここでは、APIを呼び出してユーザートークンを送信するルートがあります。その後、APIは新しいトークンを生成し、それを応答に戻します。ノード
req.user.token
を新しいトークンで更新して、セッションで有効なAPI呼び出しを続けることができます。しかし、私は応答の範囲外のセッションでのみこれを行うことができます。
ここは私の試みです。 req.user.token
を更新したトークンにするにはどうすればよいですか?
router.post('/:id', function (req, res, next) {
var returnedToken = "";
var options = {
url: configUrl + '/' + req.params.id,
method: 'POST',
headers: {
'token': req.session.passport.user.token,
'caller': 'client[route:POST user]',
'x-request-id': req.requestId,
},
json: req.body
};
request(options, function (error, response, body) {
if (error) {
req.logger.error({err: error}, 'connection to user service has failed');
res.status(500).send(error.message);
} else {
res.status(response.statusCode).send(body);
returnedToken = response.body.token;
}
return next();
})
req.user.token = returnedToken;
});
私は要求内req.user.token
を設定した場合、それは他の場所で、クライアントでは利用できません。しかし、私がreturnedToken
の上にあるreq.user.token
を設定すると、明らかに範囲外になるため、未定義です。
どうすればこの問題を回避できますか?
おかげ
ありがとうございました。それはうまくいきました。 – Sam