Jump into concepts and practice - no test required
or
Recommended
Test this pattern10 questions across easy, medium, and hard to know if this pattern is strong
Recall & Review
beginner
What is the main purpose of JWT token verification middleware in an Express app?
It checks if the incoming request has a valid JWT token to allow access to protected routes.
Click to reveal answer
beginner
Which HTTP header usually carries the JWT token in requests?
The 'Authorization' header, often with the format 'Bearer <token>'.
Click to reveal answer
beginner
What happens if the JWT token is missing or invalid in the verification middleware?
The middleware sends a 401 Unauthorized response and stops the request from reaching protected routes.
Click to reveal answer
intermediate
How does the middleware verify the JWT token?
It uses a secret key or public key to decode and check the token's signature and expiration.
Click to reveal answer
intermediate
Why is it important to place JWT verification middleware before protected route handlers?
So that only requests with valid tokens can access those routes, protecting sensitive data or actions.
Click to reveal answer
Which Express middleware function is best for verifying JWT tokens?
AA function that reads the Authorization header and checks the token
BA function that logs request times
CA function that serves static files
DA function that parses JSON bodies
✗ Incorrect
JWT verification middleware reads the Authorization header to check the token's validity.
What status code should the middleware return if the JWT token is invalid?
A200 OK
B404 Not Found
C401 Unauthorized
D500 Internal Server Error
✗ Incorrect
401 Unauthorized indicates the client is not authorized due to invalid or missing credentials.
Where is the JWT token usually stored on the client side for sending with requests?
AIn the server memory
BIn the URL path
CIn the request body
DIn a cookie or local storage
✗ Incorrect
Clients often store JWT tokens in cookies or local storage to send them in Authorization headers.
Which library is commonly used in Express apps to verify JWT tokens?
Ajsonwebtoken
Bexpress-session
Ccors
Dbody-parser
✗ Incorrect
The 'jsonwebtoken' library provides functions to sign and verify JWT tokens.
What does the 'Bearer' keyword in the Authorization header mean?
AIt is a cookie name
BIt indicates the token type is a bearer token
CIt is a password
DIt is a username
✗ Incorrect
'Bearer' means the token is a bearer token, which grants access to the bearer.
Explain how JWT token verification middleware works in an Express app.
Think about the steps from receiving a request to deciding if it can access protected routes.
You got /5 concepts.
Describe why JWT token verification middleware is important for securing Express routes.
Consider what could happen if you skip token checks on protected routes.
You got /4 concepts.
Practice
(1/5)
1. What is the main purpose of JWT token verification middleware in an Express app?
easy
A. To check if the incoming request has a valid JWT token before allowing access
B. To store user sessions on the server
C. To encrypt the user's password before saving
D. To serve static files like images and CSS
Solution
Step 1: Understand JWT middleware role
JWT middleware checks the token sent by the client to confirm identity.
Step 2: Compare options with JWT purpose
Only "To check if the incoming request has a valid JWT token before allowing access" describes verifying a token before access, which is the middleware's job.
Final Answer:
To check if the incoming request has a valid JWT token before allowing access -> Option A
Quick Check:
JWT middleware verifies token [OK]
Hint: JWT middleware always verifies token validity before access [OK]
Common Mistakes:
Confusing JWT with session storage
Thinking JWT middleware encrypts passwords
Assuming middleware serves static files
2. Which of the following is the correct way to extract the JWT token from the Authorization header in Express middleware?
easy
A. const token = req.headers.authorization.split(' ')[1];
B. const token = req.body.token;
C. const token = req.query.token;
D. const token = req.cookies.token;
Solution
Step 1: Identify standard JWT token location
JWT tokens are usually sent in the Authorization header as 'Bearer token'.
Step 2: Extract token correctly
Splitting the header string by space and taking the second part gets the token.
Final Answer:
const token = req.headers.authorization.split(' ')[1]; -> Option A
Quick Check:
Authorization header split [OK]
Hint: JWT token is after 'Bearer ' in Authorization header [OK]
Common Mistakes:
Trying to get token from body or query instead of header
Not splitting the header string
Assuming token is in cookies by default
3. Given this Express JWT middleware snippet, what happens if the token is invalid?
B. Missing return after sending 401 response causes jwt.verify to run anyway
C. Token is extracted incorrectly from headers
D. next() is called inside catch block instead of try block
Solution
Step 1: Check handling when token is missing
If token is missing, res.status(401).send() is called but no return statement stops execution.
Step 2: Understand consequence of missing return
Without return, code continues and jwt.verify runs with undefined token, causing errors or unexpected behavior.
Final Answer:
Missing return after sending 401 response causes jwt.verify to run anyway -> Option B
Quick Check:
Return needed after 401 response [OK]
Hint: Always return after sending response to stop middleware [OK]
Common Mistakes:
Forgetting to return after res.send()
Assuming jwt.verify secret is wrong here
Misreading token extraction line
5. You want to protect multiple routes with JWT verification but also allow public access to some routes. Which is the best way to apply JWT middleware in Express?
hard
A. Apply JWT middleware after route handlers to catch errors
B. Apply JWT middleware globally to all routes and skip it conditionally inside middleware
C. Apply JWT middleware only to protected routes using router.use or route-specific middleware
D. Apply JWT middleware only once in app.listen callback
Solution
Step 1: Understand middleware scope
Applying middleware globally affects all routes, including public ones, which is not ideal.
Step 2: Use route-specific middleware for protection
Applying JWT middleware only on protected routes keeps public routes accessible without token.
Final Answer:
Apply JWT middleware only to protected routes using router.use or route-specific middleware -> Option C
Quick Check:
Protect routes selectively with middleware [OK]
Hint: Use middleware only on routes needing protection [OK]
Common Mistakes:
Applying middleware globally and skipping inside code