A Complete Login Solution for Hapi.js Apps/APIs

Usage no npm install needed!

<script type="module">
  import hapiAuth from 'https://cdn.skypack.dev/hapi-auth';


Hapi Login

A Complete Login Solution for Hapi.js Apps/APIs to get you up and running in the next 5 minutes.

Build Status codecov.io Dependency Status


Letting people login to your App/API is essential any time there is personalized content/functionality to display.

We needed a easy way of doing Login/Authentication for our projects that we could drop into any project and be up-and running in minutes and thus avoid people re-inventing the wheel too often.

After much research and investigation, we decided to use a few existing Hapi modules together to form a re-useable starter package.


Login for Hapi Apps/APIs which gives you a set of routes and a predictable usage pattern.


Our objective is to extensively test every aspect of this package so that we can rely on the package for our high-traffic/security projects.

If you spot any area for improvement, please create an issue: https://github.com/dwyl/hapi-login/issues so we can discuss!

How? contributions welcome

As the name suggests, this plugin is built for apps built with the Hapi.js web framework.
If you or anyone on your team are new to Hapi, we have an introductory tutorial: https://github.com/nelsonic/learn-hapi

Basic Login

If all you need is the ability to let people login to your app/website using an email/username and password, see: https://github.com/dwyl/hapi-login

Google Auth

We are using the Googles to let people sign into our App(s) @dwylhq because we all use Gmail and Google Calendar personally, so it makes sense.

To enable Google Auth you will need to have two Environment Variables set:


You will need to create an App on https://console.developers.google.com and get your CLIENT_ID & CLIENT_SECRET. We export these two variables prefixed with GOOGLE_ to distinguish them from other services.


  • google-api-nodejs-client - handles authentication with Google and access to other Google Services. Build Status Coverage Status Dependency Status

  • hapi-auth-jwt2 - lets us track the session for people who have logged in and identify (authorise) people returning to the site/app using a JSON Web Token Build Status codecov.io Dependency Status

  • bell - Facebook, Twitter & LinkedIn Authentication


Further Reading

If you want to learn more about the dwyl technology stack and how this module fits into it, please see: https://github.com/dwyl/technology-stack

Google Authentication

visit: https://console.developers.google.com to get started

Recommended Reading