File size: 475 Bytes
4327358
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
import * as basicAuth from 'express-basic-auth';

export function BasicAuthFunction(username, password, exclude: string[] = []) {
  function authFunction(req, res, next) {
    const ignore = exclude.filter((url) => req.url.startsWith(url)).length > 0;
    if (ignore) {
      next();
      return;
    }

    const auth = basicAuth({
      challenge: true,
      users: {
        [username]: password,
      },
    });
    auth(req, res, next);
  }

  return authFunction;
}