Skip to content
This repository was archived by the owner on Apr 16, 2024. It is now read-only.

flweber/express-ad-basicauth

Repository files navigation

express-ad-basicauth

Build Status npm (tag) npm GitHub issues Libraries.io dependency status for GitHub repo npm GitHub license Dependabot Status

Active directory basic auth middleware for express.

API

Simple usage

const  app  =  require("express")();
const  AdAuth  =  require("express-ad-basicauth");
const port = 8080;

AdAuth.initAd(
  {
    url:  "ldap://ad.local:389",
    baseDN:  "dc=ad,dc=local",
    username:  "",
    password:  ""
  },
  null
);

app.use(AdAuth.app);

app.get("/", (req, res) => {
  res.send("Secret...!");
});

app.listen(port, () =>  console.log(`App is listening on port ${port}!`));

Check group membership

const  app  =  require("express")();
const  AdAuth  =  require("express-ad-basicauth");
const port = 8080;

AdAuth.initAd(
  {
    url:  "ldap://ad.local:389",
    baseDN:  "dc=ad,dc=local",
    username:  "",
    password:  ""
  },
  "domain-admins"
);

app.use(AdAuth.app);

app.get("/", (req, res) => {
  res.send("Only for domain admins!");
});

app.listen(port, () =>  console.log(`App is listening on port ${port}!`));

Edit / prepare username and / or password

...
AdAuth.editName(user => {
  if (!user.includes("@")) user = `${user}@ad.local`;
  return user;
});

AdAuth.editPass(password => {
  password = "Replace the password or do something else here";
  return password;
});
...

Active Directory configuration

Simple config

{
    url:  "ldap://ad.local:389",
    baseDN:  "dc=ad,dc=local",
    username:  "",
    password:  ""
}

Simple Query

{
    url:  "ldap://ad.local:389",
    baseDN:  "dc=ad,dc=local",
    cn: "*Exchange*",
    username:  "",
    password:  ""
}

More Options

For more options visit the activedirectory2 package. You can find it here. All options are available.

About

Active directory basic auth middleware for express.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 3

  •  
  •  
  •