Coder Social home page Coder Social logo

magic link support about gotrue HOT 9 CLOSED

supabase avatar supabase commented on July 19, 2024
magic link support

from gotrue.

Comments (9)

thorwebdev avatar thorwebdev commented on July 19, 2024 2

Another question - if someone has logged in with email and password, should we also allow them to trigger a "Magic link" email, then login without their password?

I'd say yes, we can assume a user's email to be a secure channel, seeing that reset password uses the same channel.

from gotrue.

awalias avatar awalias commented on July 19, 2024

will depend on changes to the recovery flow #18

from gotrue.

awalias avatar awalias commented on July 19, 2024

image

from gotrue.

awalias avatar awalias commented on July 19, 2024

image
image

from gotrue.

awalias avatar awalias commented on July 19, 2024

finishing the spec for this

assumptions:

  • we add some method to gotrue-js sendMagicLink(email)

outstanding questions:

  • what should happen if the user does not yet exist?

    • error message
    • create the user and then send them a magic link afterwards
    • add this as an option sendMagicLink(email, { createUserIfNotExists : true })
  • do we need a new email template for magic links, or should we have people use the recovery email template? (My thinking here is that we can implement this without changing gotrue API too much)

    • one thing that Thor pointed out is that some people may want to have both magic link and password recovery email templates (although the way they work is pretty much the same)

preference @kiwicopple @thorwebdev ?

from gotrue.

kiwicopple avatar kiwicopple commented on July 19, 2024

what should happen if the user does not yet exist?

As a developer you'd expect the user to be created, if they don't exists already. Throwing an error doesn't make sense, and neither does a createUserIfNotExists, since I can't think of a situation where you don't want to create a user? (Magic links are a form of sign up)

one thing that Thor pointed out is that some people may want to have both magic link and password recovery email templates (although the way they work is pretty much the same)

I agree here, it would be more similar to a sign up email. Can we use the signup email template, and only trigger it if a new user is created?

from gotrue.

thorwebdev avatar thorwebdev commented on July 19, 2024

Can we use the signup email template, and only trigger it if a new user is created?

But what email do we then send when the user already exists and just wants to log in? I do think this needs to be a separate route and a separate template, and ideally would be merged back into netlify's gotrue as I think it's a useful feature. Wdyt?

from gotrue.

kiwicopple avatar kiwicopple commented on July 19, 2024

what email do we then send when the user already exists and just wants to log in?

True. So the route would have to :

  • check if the user exists
    • if not exists
      • create user
      • send an email with login link
    • if exists
      • send an email with login link

The login link email and the password recovery email will be quite different so I think you're right about requiring a GoTrue modification.

Another question - if someone has logged in with email and password, should we also allow them to trigger a "Magic link" email, then login without their password?

from gotrue.

github-actions avatar github-actions commented on July 19, 2024

🎉 This issue has been resolved in version 1.3.0 🎉

The release is available on GitHub release

Your semantic-release bot 📦🚀

from gotrue.

Related Issues (20)

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.