Skip to content

tpisto/basic-auth

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

15 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

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.

Installation

$ npm install koa-basic-auth

Example

Password protect downstream middleware:

var auth = require('koa-basic-auth');
var koa = require('koa');
var app = koa();

// custom 401 handling

app.use(function *(next){
  try {
    yield next;
  } catch (err) {
    if (401 == err.status) {
      this.status = 401;
      this.set('WWW-Authenticate', 'Basic');
      this.body = 'cant haz that';
    } else {
      throw err;
    }
  }
});

// require auth

app.use(auth({ name: 'tj', pass: 'tobi' }));

// secret response

app.use(function *(){
  this.body = 'secret';
});

app.listen(3000);
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

License

MIT

About

blanket basic auth middleware

Resources

Stars

Watchers

Forks

Packages

No packages published