Closed

Node Express authentication app

This project received 20 bids from talented freelancers with an average bid price of $215 USD.

Get free quotes for a project like this
Employer working
Project Budget
$30 - $60 USD
Total Bids
20
Project Description

I am a front end developer and I need a simple node app (no css) that handles authentication for me. This will be used as a starter app for my new projects. See the [url removed, login to view] attached for dependencies I want to use. Here are the requirements:

5 Routes:

/login ([url removed, login to view] strategies for Google, Twitter, Facebook and local. I will provide Client ID's and Client Secrets for each)

/signup ([url removed, login to view] strategies for Google, Twitter, Facebook and local. I will provide Client ID's and Client Secrets for each)

/index (Show "Hello Username" if logged in or show login and sign up links)

/forgot-password (for local strategy only. Checks that email address exists and if so, adds reset code to user table and sends a 1 time code to reset password)

/reset-password/[resetCode] (allows user to enter email along with new password and confirm password. Will reset password if code is valid and set code value back to null in the db)

/confirm-email/[confirmCode]

RethinkDB Database:

userId: Start these at 100 and auto increment.

first: first name (can be null)

last: last name (can be null)

country: can be null

hash: For social strategies only (null if local strategy). Hash of the social platforms userid and stratgey name. This will give us something unique to query on when there is a social login.

email: required if local strategy but store it anyway if the social platform provides it (some don't).

password: Bcrypt hash of the password. For local strategy only (null if social strategy).

strategy (enum): Google, Facebook, Twitter or Local

dateSubscribed: date of sign up

loginCount: increment for each login.

resetCode: store reset code when user needs to reset password

confirmCode: store confirm email code when signup happens with local strategy. Send email to verify their email address after signup and when they click the link, set this back to null

dateConfirmed: date email address was confirmed.

Skills Required

Looking to make some money?

  • Set your budget and the timeframe
  • Outline your proposal
  • Get paid for your work

Hire Freelancers who also bid on this project

    • Forbes
    • The New York Times
    • Time
    • Wall Street Journal
    • Times Online