Hapi Register + Login Example (using) PostgreSQL
A login form using hapi-auth-register, hapi-auth-login & hapi-auth-jwt2 with a PostgreSQL DB
We did not find an end-to-end solution/tutorial for login (using email & password) in Hapi.js apps, so we wrote it.
By popular demand
this example focusses on PostgreSQL,
but it can easily be adapted to work with any backed/database.
This repo is a showcase for how to build a login flow using Hapi.js.
We use the following plugins:
Each one is hand-crafted, tested and maintained by us, feel free to use the code how ever you see fit.
Note: If you have requests/suggestions for how to extend this example, please let us know!
- ALL values inserted into the database are escaped using
pg-escape(made by @TJ & Co ... so you know its good)
- We use
Joifor validation - which we display in the client UI. (see screenshots below)
The best way to get started is to run this example locally.
Please ensure you have PostgreSQL Installed and Running on your local machine before you attempt to run this example. see: https://wiki.postgresql.org/wiki/Detailed_installation_guides
1. Clone the repo:
git clone https://github.com/dwyl/hapi-login-example-postgres.git cd hapi-login-example-postgres
2. Install Dependencies from NPM
3. Ensure you have the Required Environment Variables
.env file in your
add a line for your
DATABASE_URL variable and one for
export DATABASE_URL=postgres://postgres:@localhost/test export JWT_SECRET=https://git.io/vaN7A
default on mac is: export DATABASE_URL=postgres://postgres:@localhost/test
if you don't already have a database called
teston your system,
create it now by running this command in your psql/pgadmin:
CREATE DATABASE test;
4. Run the Tests
npm test will first execute
npm run create which creates
the necessary Database Tables to run the app. see:
5. Run the Server
npm run dev
hack customise it to your heart's content!
If you would like to see this example expanded, please either create an issue with a specific request or