Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Resend email provider does not create an entry in Account table #10662

Open
gnasamx opened this issue Apr 20, 2024 · 7 comments
Open

Resend email provider does not create an entry in Account table #10662

gnasamx opened this issue Apr 20, 2024 · 7 comments
Labels
bug Something isn't working providers triage Unseen or unconfirmed by a maintainer yet. Provide extra information in the meantime.

Comments

@gnasamx
Copy link

gnasamx commented Apr 20, 2024

Provider type

Email

Environment

  • OS: macOS 14.4.1
    CPU: (4) x64 Intel(R) Core(TM) i5-8210Y CPU @ 1.60GHz
    Memory: 152.95 MB / 8.00 GB
    Shell: 5.9 - /bin/zsh
  • Binaries:
    Node: 20.12.1 - ~/.nvm/versions/node/v20.12.1/bin/node
    npm: 10.5.0 - ~/.nvm/versions/node/v20.12.1/bin/npm
    pnpm: 9.0.4 - /usr/local/bin/pnpm
  • Browsers:
    Chrome: 124.0.6367.61
    Safari: 17.4.1
  • npmPackages:
    @auth/prisma-adapter: ^2.0.0 => 2.0.0
    next: 14.2.2 => 14.2.2
    next-auth: 5.0.0-beta.16 => 5.0.0-beta.16
    react: ^18 => 18.2.0

Reproduction URL

https://github.com/gnasamx/my-app/blob/main/lib/auth.ts

Describe the issue

Doc says magic link will also add an entry in Account table. Link: https://authjs.dev/concepts/database-models#account

But Account has some problem. I'm using Resend provider. It's minimal setup (repo link is below). But I don't see a user entry in Account table. I can confirm that the User, Session, VerificationToken table entries are working correctly.

Screenshot 2024-04-20 at 10 49 28 PM

How to reproduce

  • Clone the repo
  • Update Resend api key in .env
  • Update Database Url in .env postgresql://username:password@localhost:5432/app
  • Run pnpm Prisma db push

Expected behavior

An entry (with type as "email" and provider as "Resend") should be added on successfully verifying the email sign in invitation link.

@gnasamx gnasamx added bug Something isn't working providers triage Unseen or unconfirmed by a maintainer yet. Provide extra information in the meantime. labels Apr 20, 2024
@tarun7singh
Copy link

After seeing your issue i checked my mongodb cluster and this is correct, All users that came through resend are not being added to the account collection.

@mickasmt
Copy link

mickasmt commented Apr 25, 2024

@gnasamx @tarun7singh
If you only use email with Resend then the recording will only be made in the User table
Account table is only for other providers like Google, Github, etc.
If you sign in by email first and then use a Google account with the same email address, you will see a record in Account and this will automatically be linked to the one in User by user ID.
This is what I understood with the documentation and after doing the test locally.
Is this right?

@gnasamx
Copy link
Author

gnasamx commented Apr 25, 2024

No. What you are talking is related to account linking (with same email) if I'm not wrong. Also I'm pretty sure, this was working a couple a days ago. I mean I have seen an entry in Account table with type as an email and provider as a Resend after successfully verification.

Also it is mentioned the docs that magic link will create an entry in Account table. I have attached a doc link in the first comment.

If I understood it correctly then this is part of code that runs on verify callback back for email type and related to account:

Let's see if someone knows/facing this issue.

@JesperSvensson00
Copy link

I am facing the same issue. Did you find a find a fix for this or identified the cause?

@gnasamx
Copy link
Author

gnasamx commented Jul 22, 2024

Sorry but no, I did not identified the cause. I decided not to use the magic link for a time being.

@kjendrzyca
Copy link

I'm facing the same issue. Is it a bug or an expected behavior?

@ericshively
Copy link

ericshively commented Nov 18, 2024

Also having this issue. Seems to be a bug since the Next-Auth docs say:
"Account creation in the database is automatic and happens when the user is logged in for the first time with an authentication provider (either OAuth, magic links or plain credentials) or the Adapter.linkAccount method is invoked."

We may need to manually invoke the Adapter.linkAccount

https://authjs.dev/concepts/database-models#account

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working providers triage Unseen or unconfirmed by a maintainer yet. Provide extra information in the meantime.
Projects
None yet
Development

No branches or pull requests

6 participants