14

Express-jwt ライブラリを取り込もうとしていますが、エラー処理のしくみがよくわかりません。

ドキュメントには次のように記載されています。

エラー処理

デフォルトの動作では、トークンが無効な場合にエラーがスローされるため、カスタム ロジックを追加して、次のように不正アクセスを管理できます。

    app.use(function (err, req, res, next) {
      if (err.name === 'UnauthorizedError') {
        res.status(401).send('invalid token...');
      }
    });

しかし、私はそれがどのように機能するか混乱しています。単純な状況で、トークンが有効な場合は呼び出し、そうでない場合はエラーでreq res呼び出したい場合、その関数をどこに配置すればよいですか?nextnextapp.use

たとえば、ここに私のコードがあります:

router.post('/', expressJwt({  
  secret: jwtSecret,     
  credentialsRequired: false  
}), (req, res, next) => {   
  databaseController.findUser(req.user.email, (err, user) => {          
    if (err) {          
      return next(err)      
    }                        
    res.json(user)     
  })         
})

hereはerr、express-jwt 検証からではなく、DB 呼び出しから取得されます。どんな助けでも大歓迎です。

4

4 に答える 4