Skip to content
This repository has been archived by the owner on Dec 5, 2021. It is now read-only.

louis-young/session-authentication-service

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

65 Commits
 
 
 
 
 
 

Repository files navigation

⚠️ Please note that this is an old project and does not reflect the quality of my current work.

Session Authentication Service

A session-based authentication service built with Node/Express and Knex/Postgres.

Description

A hand rolled authentication service with a client, built with React, that interfaces with the service. It features protected routes and the registration, change password and login forms.

Motivation

This was a project to learn more about authentication and security. Please note that I understand and appreciate the concerns related rolling your own authentication service and wouldn't consider using this.

Features

  • Cryptographic password hashing algorithm (via Argon2).
  • Password strength estimation (via zxcvbn).
  • Password reset (over SMTP via SendGrid).
  • Database sessions (in Postgres).
  • Cross-Site Request Forgery protection (CSRF).
  • Cross-Origin Resource Sharing protection (CORS).
  • HTTP header security (via Helmet).

Technologies

  • JavaScript.
  • React.
  • Node.
  • Express.
  • Postgres.
  • Knex.

Packages

  • argon2
  • express-session
  • connect-session-knex
  • csurf
  • zxcvbn
  • helmet
  • cors
  • crypto
  • @sendgrid/mail