auth-server-helper/README.md
2020-05-17 17:37:41 +02:00

62 lines
1.3 KiB
Markdown

# @sapphirecode/auth-server-helper
version: 1.0.x
authentication middleware for express
## Installation
npm:
> npm i --save @sapphirecode/auth-server-helper
yarn:
> yarn add @sapphirecode/auth-server-helper
## Usage
```js
const auth = require('@scode/auth-server-helper');
const password_helper = require('@scode/password_helper');
const users = {
foo: {
id: 0
password: await password_helper.hash('bar'),
salt: '123'
}
}
// add cookieParser to allow session management via cookies
app.use(cookieParser());
// the middleware needs a function to determine user data
// this function can also return a promise
app.use(auth((user_name) => {
if (!users[user_name])
return null;
return users[user_name];
}));
```
when a client logs in, it will set a header called 'session' that the client can
use to authorize the following requests. it also sets a cookie to make
requesting from the client more simple. (cookie parser is needed to make
authentication with cookies possible)
### Excluding routes
exceptions to the auth module can be added by adding an array of regular
expressions a specific method can also be filtered for by giving an object
instead of a plain regular expression.
```js
auth(..., [/no-auth/, {regex: '/no-auth-post/', method: 'POST'}]);
```
## License
MIT © Timo Hocker <timo@scode.ovh>