Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- const express = require('express');
- const queryString = require('query-string');
- const app = express();
- const USERS = [
- {
- id: 1,
- firstName: 'Joe',
- lastName: 'Schmoe',
- userName: 'joeschmoe@business.com',
- position: 'Sr. Engineer',
- isAdmin: true,
- // NEVER EVER EVER store passwords in plain text in real life. NEVER!!!!!!!!!!!
- password: 'password'
- },
- {
- id: 2,
- firstName: 'Sally',
- lastName: 'Student',
- userName: 'sallystudent@business.com',
- position: 'Jr. Engineer',
- isAdmin: true,
- // NEVER EVER EVER store passwords in plain text in real life. NEVER!!!!!!!!!!!
- password: 'password'
- },
- // ...other users
- ];
- function gateKeeper(req, res, next) {
- //extract x-username-password out of header
- let {user, pass} = queryString.parse(req.header("x-username-password"));
- //req.header - method
- //req.headers - obj
- req.user = USERS.find(item => item.userName === user && item.password===pass);
- next();
- }
- app.use(gateKeeper);
- app.get("/api/users/me", (req, res) => {
- // res.send(req.headers);
- if (req.user === undefined) {
- return res.status(403).json({ message: 'Must supply valid user credentials' });
- }
- const { firstName, lastName, id, userName, position } = req.user;
- return res.json({ firstName, lastName, id, userName, position });
- });
- app.listen(process.env.PORT || 8080, () => console.log(
- `Your app is listening on port ${process.env.PORT || 8080}`));
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement