Code Monkey home page Code Monkey logo

auth-starter-2.0's Introduction

Minimalist Portfolio with React

Thanks for visiting!! You're probably looking for my portfolio.

WHat you were working on: (04/22/24)

Making the shop actually work with real products. There is an error in the deprecated shopping experience. HERE:

      // YOU ARE HERE 04/22/2024
      await stripe.redirectToCheckout({
        sessionId: session.id,
      })

WHat you were working on: (05/21/24)

Trying to upgrade all packages. Check out branch updated-packages. Dokku machine does not like it though.

Notes for Development:

# starting redis
$ brew services start redis

# stopping redis
$ brew services stop redis

# checking if it is running
$ redis-cli ping

# clear all
$ redis-cli FLUSHALL

# get keys
redis-CLI KEYS '*'

auth-starter-2.0's People

Watchers

 avatar  avatar

Forkers

rsalge

auth-starter-2.0's Issues

Email Change login/confirmation lockout.

Currently, when the user goes to change their email, they could potentially be locked out, should they not confirm their new email.

The experience could be:

  1. If the user changes their email, they should still be able to login using their old email, until they confirm their new email address.
  2. The user changes their email, and is not logged out. They can still login using their old email until they confirm their email.
  3. The concept of primary email - their current email stays their mail login, until they confirm and change their email. This new email becomes their primary and any other email is saved as an alternate email.

Simplify Token

currently token is consuming the entire User object. tokenize needed fields only

Separate Social Login/Register Routes

Social login and register routes are currently the same. Meaning if a user tries to login using Facebook, but they do not have an account. it will take them through the registration flow.

Add ability to re-request confirmation email

Currently, if the user does not confirm their email in the 10 minutes it takes the token to expire, they will have no way of creating a profile with that email. A entry in the database will exist for that email, but they wont be able to log in because they have not confirmed.

options:

  • If they miss the signup window, and try and login or signup, prompt them to resend a confirmation email.
  • create a cron job to clear emails with expired tokens from the database to allow them to retry later.

User login with social profile email bug

If a user attempts an email login with an email that is linked to a social profile, and then the profile attempts to login with a DIFFERENT social profile, they will be routed to the complete profile page, but their email will not work.

This becomes a problem if they have logged into a different social media (facebook for example) profile on the device. The passport middleware will automatically assume they want to login to the same profile they previously logged into, EVEN IF they created their Leaderboard profile with the other Social Media profile.

Ensure rate limit approriateness

The rate limiter is currently on all requests.
Perhaps just have it on login/auth related requests.

  • look into appropriate point limits

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.