https://github.com/http-auth/http-auth-hapi
Hapi framework integration with http-auth module.
https://github.com/http-auth/http-auth-hapi
authentication hapi javascript
Last synced: 19 days ago
JSON representation
Hapi framework integration with http-auth module.
- Host: GitHub
- URL: https://github.com/http-auth/http-auth-hapi
- Owner: http-auth
- License: mit
- Created: 2020-02-02T19:58:43.000Z (about 6 years ago)
- Default Branch: master
- Last Pushed: 2024-06-16T10:32:55.000Z (over 1 year ago)
- Last Synced: 2025-05-09T05:48:32.436Z (9 months ago)
- Topics: authentication, hapi, javascript
- Language: JavaScript
- Homepage:
- Size: 460 KB
- Stars: 1
- Watchers: 1
- Forks: 0
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# http-auth-hapi
[Hapi framework](https://hapi.dev/) integration with [http-auth](https://github.com/gevorg/http-auth) module.
[](https://github.com/http-auth/http-auth-hapi/actions/workflows/build.yml)
## Installation
Via git (or downloaded tarball):
```bash
$ git clone git://github.com/http-auth/http-auth-hapi.git
```
Via [npm](http://npmjs.org/):
```bash
$ npm install http-auth-hapi
```
## Usage
```javascript
// Authentication module.
// eslint-disable-next-line node/no-unpublished-require
const auth = require("http-auth");
// Setup auth.
const basic = auth.basic({
realm: "Simon Area.",
file: __dirname + "/../data/users.htpasswd"
});
// eslint-disable-next-line node/no-unpublished-require
const Hapi = require("@hapi/hapi");
const init = async () => {
const server = Hapi.server({
port: 1337,
host: "localhost"
});
// Register auth plugin.
await server.register(require("http-auth-hapi"));
// Setup strategy.
server.auth.strategy("http-auth", "http-auth", basic);
server.auth.default("http-auth");
server.route({
method: "GET",
path: "/",
handler: request => {
return `Welcome from Hapi - ${request.auth.credentials.name}!`;
}
});
await server.start();
console.log("Server running on %s", server.info.uri);
};
init();
```
## Running tests
It uses [mocha](https://mochajs.org/), so just run following command in package directory:
```bash
$ npm test
```
## License
The MIT License (MIT)