2017-02-23 1 views
0

Ich erstelle einen Knoten-Webdienst. Dies enthält mehrere Routen. Einige von ihnen brauchen Authentifizierung, andere nicht. Ich benutze Json-web-Token-Token zu erstellen und zu überprüfen, dass die Arbeit, solange ich mit dem folgenden glücklich bin:Geben Sie die Route pro Knoten an, wenn eine Authentifizierung erforderlich ist oder nicht

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) 

Diese in allen Routen führen, die nach den .use(...) definiert sind, wird die Authentifizierung benötigen. Um jedoch alle meine Routen zu verfolgen, möchte ich sie nach Kategorie gruppieren, aber das bedeutet, dass ich die Verifizierung nicht wie gewohnt nutzen kann.

Zum Beispiel: Ich möchte nicht die .get('/games', game.newestGames) Authentifizierung benötigen

Gibt es eine Möglichkeit pro Strecke angeben, dass es Verifikation benötigt oder nicht?

Antwort

2

Sicher, können Sie entweder tun:

app.use('/years', main.varifyToken, main.years) 

Oder wenn Sie wollen es nur auf einigen Verben machen:

app.get('/years', main.years) 
app.post('/years', main.verifyToken, main.postYears) 

Sie können auch Router zu Gruppenfunktionalität und Auth mit suchen. Ich finde es einfacher, meine Routen zu verstehen, wenn ich

mache
Verwandte Themen