如果需要身份验证,请指定每个节点路由
Specify per node route if authentication is needed or not
我正在构建节点 Web 服务。这包含多条路线。
其中一些需要身份验证,而另一些则不需要。
我使用 json-web-token 来创建和验证令牌,只要我对以下内容感到满意,它就可以工作:
router
// main routes
.get('/', main.catchAll)
.post('/register', main.register)
.post('/authenticate', main.authenticate)
.use(main.verifyToken)
.get('/years', main.years)
// game routes
.get('/games', game.newestGames)
.get('/game/title/:id', game.gameName)
.get('/game/:id', game.gameDetails)
.get('/genres', genres.genres)
这导致在 .use(...)
之后定义的所有路由都需要身份验证。
但是,为了跟踪我的所有路线,我想将它们按类别分组,但这意味着我无法像以前那样使用验证。
例如:我不希望 .get('/games', game.newestGames)
需要身份验证
有没有办法指定每条路线是否需要验证?
当然,您可以这样做:
app.use('/years', main.varifyToken, main.years)
或者如果你只想在某些动词上使用它:
app.get('/years', main.years)
app.post('/years', main.verifyToken, main.postYears)
您还可以考虑使用路由器来对功能和身份验证进行分组。当我这样做时,我发现更容易理解我的路线
我正在构建节点 Web 服务。这包含多条路线。 其中一些需要身份验证,而另一些则不需要。 我使用 json-web-token 来创建和验证令牌,只要我对以下内容感到满意,它就可以工作:
router
// main routes
.get('/', main.catchAll)
.post('/register', main.register)
.post('/authenticate', main.authenticate)
.use(main.verifyToken)
.get('/years', main.years)
// game routes
.get('/games', game.newestGames)
.get('/game/title/:id', game.gameName)
.get('/game/:id', game.gameDetails)
.get('/genres', genres.genres)
这导致在 .use(...)
之后定义的所有路由都需要身份验证。
但是,为了跟踪我的所有路线,我想将它们按类别分组,但这意味着我无法像以前那样使用验证。
例如:我不希望 .get('/games', game.newestGames)
需要身份验证
有没有办法指定每条路线是否需要验证?
当然,您可以这样做:
app.use('/years', main.varifyToken, main.years)
或者如果你只想在某些动词上使用它:
app.get('/years', main.years)
app.post('/years', main.verifyToken, main.postYears)
您还可以考虑使用路由器来对功能和身份验证进行分组。当我这样做时,我发现更容易理解我的路线