Skip to content

Repository files navigation

koa-basic-auth Build Status

Add simple "blanket" basic auth with username / password. If you require anything more specific just use the basic-auth module.

v4.x+ Breaking Change: This package no longer requires both a username and a password. Either or is supported, see #39 for more insight.

Installation

$npminstallkoa-basic-auth

Example

Password protect downstream middleware:

constauth=require('koa-basic-auth');constKoa=require('koa');constapp=newKoa();// custom 401 handlingapp.use(async(ctx,next)=>{try{awaitnext();}catch(err){if(401==err.status){ctx.status=401;ctx.set('WWW-Authenticate','Basic');ctx.body='cant haz that';}else{throwerr;}}});// require authapp.use(auth({name: 'tj',pass: 'tobi'}));// secret responseapp.use(async(ctx)=>{ctx.body='secret';});app.listen(3000,function(){console.log('listening on port 3000');});

Example request:

$ curl -H "Authorization: basic dGo6dG9iaQ==" http://localhost:3000/ -i
HTTP/1.1 200 OK
X-Powered-By: koa
Content-Type: text/plain; charset=utf-8
Content-Length: 6
Date: Sat, 30 Nov 2013 19:35:17 GMT
Connection: keep-alive
secret

Using the mount middleware you may specify auth for a given prefix:

constmount=require('koa-mount');constauth=require('koa-basic-auth');app.use(mount('/admin',auth({name: 'tobi',pass: 'ferret'})));

License

MIT

About

blanket basic auth middleware

Resources

Code of conduct

Contributing

Security policy

Stars

138 stars

Watchers

4 watching

Forks

Releases

Packages

Used by

Contributors

Languages