Next.js 13 Authentication: Custom Email/Password with NextAuth.js & MongoDB
Check out my courses: gtcoding.net/courses/
In this comprehensive tutorial you will learn how to add authentication to your Next.js 13 app with Email/Password using Next Auth. We will use MongoDB to store the details of the user. We will be using Tailwind CSS for designing the UI.
Source code: github.com/Godsont/auth-with-...
Timestamps:
-----------------------
00:00 - Demo
02:59 - Designing UI Using Tailwind CSS
16:41 - Creating the API
27:07 - MongoDB
42:48 - Authentication using Next Auth
Пікірлер: 167
Thanks a lot for the NextJS 13 videos and end to end projects with database functionality, very much appreciated! very simple and straightforward explanations. Keep up the good work.
@GTCoding
10 ай бұрын
Thank you :)
fantastic piece on nextauth using app router, I have been having issues integrating next-auth, but your video has made lide easy , Thanks GT coding
Thank you for great Next JS videos. I watched your last NextJs videos. We learnt making contact page, crud and auth. Now I am waiting for a full project video like a blog website with mongodb :)
This is one of the best tutorials seen on Nextjs, mongoose and nextauth. Thank you good Sir, really appreciate your effort. Keep it up
this was the perfect video for my use case, I wanted to have a custom login and register form without using any google or github provider. Other videos have complex providers and if they implement only credentials, they didnt use database. This video was very helpful thanks
Thank you immensely! Your video provided the best tutorial I've ever come across. Your effort is highly appreciated. Wishing you a life filled with greatness. Thanks again!
This is reeeeally awesome and on point for my use case. I have been battling with authentication for 2 days now, and your video just saved a life. I can't thank you enough.
@vernevens1598
2 ай бұрын
Only 2 days?
Thanks for the tutorial using javascript, not typescript! I have been looking for this for quite a while! :) 🙏🤓
This is has to be the best tutorial i have seen in nextjs auth, thanks so much @GtCoding
This works great with JS, but in the professional world we use TypeScript so we could use the tutorial that also includes types, Next Auth is quite difficult to type so maybe make a video in the future to include that.
Awesome tutorial! I would also add a little success message when user registration is successful in addition to clearing the form. Also it would be nice to reset any previous error state after a successful registration.
this is one of the best tutorial i've ever seen kudos to you sir
This was outstanding, thank you!
Great video! Love it! Thank you sir
Impressive! I changed it a little bit for using prisma. :) thanks!
Great, thanks for this solid tutorial.
Thank You for this video, it's really helpful.
Thanks, man! Simple great tutorial!
this video is awesome keep up the amazing work
best tutorial on the subject on yt.
Thank you, you explain it well.
Nice content! So helpful, i really appreciate...Thanksss!
Thank you for this tutorial
Very good video, want to spend time and have my custom auth . you saved me a lot of lot of time
Great tutorial ❤
Really Amazing Teaching❤❤
I really needed this simple login using NextApp. Thank you for this beautiful tutorial. I request to you. Please add "Forget password" feature for this tutorial.😊
Thanks for this tutorial, it's really clear. I was struggling to understand authentication and this helped me tremendously. Could you do a follow up on this topic with "email validation" after registering and "forgot your email?" functionalities ?
Thank you immensely!
thanks a lot you are the besty one that explane this next auth thanks broo keep going 😃😁
Great video and more content about Next.JS please my dear friend 🙏
@GTCoding
10 ай бұрын
Sure 👍
Thanks a lot for this video📌
Thanks tutorial. your viedo is good.
Awesome explanation about Next JS 13 Authentication. Thanks a lot. Can you please make one video with mysql server instead of mongoose. and with image upload functionality. Thanks a lot in advance!
Thanks a lot for the video
Straightforward approach 🦾
Thank you for this tutorial. Every other KZreadr is just doing login with Google SMH
Impressed with the quality, congratulations! A question regarding next-auth. Would it be possible to use the same database with registered users to create a login for another React Native application, for instance?
great video :)
Thanks bro!!
Man you are the best ..
Thanks a lot!
Thank you!:)
Thank you soo much
thanks you, perfect
Thank you.
Good tutorial kindly also add role base authentication in this project
37:00 You don't have to create extra api route (userExists). All you have to do is set email unique: true in the schema. And update the same api route (register). const existingUser = await User.findOne({ email }); if (existingUser) { return NextResponse.json( { message: "Email already in use." }, { status: 409 } // conflict status ); } The form will display the message if you have this when (res.ok) = false const data = await res.json(); setError(data.message)
Thanks bro It's very good peace and love ^.^
Awesome tutorial my brother keep it up ❤
Muito bom bem explicado e simples, so achei esse e JS e não em Typscript
thanks man
great tutorial. Perhaps you could also add password system with JWT as I feel its much more secure in general
@judevector
9 ай бұрын
Jwt is not for password,bcrypt is . Jwt is for cookies , sessions and I think next-auth comes automatically with it , you can see he use jwt in that credentials there ,am thinking maybe that's how it's been used in NextJS unlike Nodejs
Thanks for this video. Will you make a complete blog that brings together all the concepts?
@GTCoding
10 ай бұрын
Sure.
Great!
Thank You Very Much can you do video for file upload API ? and Role-based routing?
So i have a question, if I would make the same as you. Can I host it on a webhoster like hostinger in a shared hosting? Or do I need a vps? I ask this because this is my first next js project with auth js.
Thanks for amazing video but I didn't understand that why did you make another API to check user exist or not. Can we check while register user in register API?
Could you make a tutorial about how to use the jwt and cookie to store the user's login condition with nextjs and next-auth? Thank you very much
I just subscribed :) Great content, easy and simple explanation I have a question tho, how do I hide that callback query in the url, its really annoying ... thanks
Can you please start an ecommerce series which include all concepts with mongo
Thank you for this helpful video, will you make a follow up tutorial for adding tokens in your requests to the api and logging out the user if the token expires?
@GTCoding
10 ай бұрын
Ok, I'll try.
@praiseoshilim1006
10 ай бұрын
@@GTCoding handling refresh tokens too please?
thanks alot great work. but i think its time for server action
Hey, we're using cognito provider for authentication, is there a way to implement the same or similar solution for a custom form with a different provider?
Can you please a video on how to use NextAuth and Next-intl together.
Great video. is there a way to do this server side?
Nice work.. how about change and forget password
i already have NextAuth configured for Google OAuth flow. Will the email & password setup from this video work with another OAuth provider being set up?
i love mongodb all my homies love mongodb
hey thank you. you seemed like one of those random indian channels but you cantually have good content!
thx
Hi Sir can you make the video on how to store the image from next js to mongodb and retreive the image from mongodb and display the image on frontend
Hello and thank you for your video! i have one issue. I cloned the code from the repo and it works fine, except in the userInfo component, it only displays the email. I could not get it to display any other properties. Thank you so much
Thanks for project, how to create a forgot password page?
Hello your sir can you please teach us some advance topics of NextJs.
Can I ask how much is this safe? Can we use it in production projects
Pls I have I need your help after following up your work and I have deployed mine but I just saw myself in the home page Not even the sign in and login page what's wrong pls? I used netlify
I am trying to deploy this app to vercel, deployment is successful but unable to login
❤❤❤❤❤❤
Overall awesome video. But I'm a bit confused as to why we don't sign in the user after they register? At least I can't see anywhere in the source code where this happens.
@Tids_
8 ай бұрын
it's normal practice to do it that way
@raduscortescu6512
7 ай бұрын
Normally, you have to validate the user by email confirmation, then you have to use the credentials to log in. That's the most secure way. You can have hackers attack your website and database if you can register and login automatically.
Hi, I need little help regarding session object null, i have follow this awesome tutorial and create a simple app, but after login the session always return NULL object at client but it shows object values at server console. Please help I am frustrated because it is about 3 days and I am stuck.... Thank you
sir the middleware logout button will not work its refresh and have on the same page dashbord page
I stumbled upon this video. I wish to provide a constructive feedback. I don't agree with using useState() hook at all for the login/register form. Everytime the value changes, it will cause a re-render of the component. This is a very inefficient way actually. Maybe you can also make another video highlighting this and improving on it. A better approach would imho be, to use the FormData(), populating it, instead of useState(). Many fellow developers have also pointed this out multiple times. Perhaps you can make a new version of this video?
I guess the user's session should expire at some point due to inactivity. How can that be implemented?
@1:02 When I add the imports in the login I get this error, TypeError: Cannot read properties of undefined (reading 'User') which is related to the models I don't understand what's the relation as it has nothing to do with the schema model in the login
@kiranmungekar8918
4 ай бұрын
Hi Hamza, I am also facing same issue... did you find any solution on that?
Bro please make about next js 13 app directory
can anyone tell me the theme nsme he is using...?? please
i want to place it in a other folder for example in a admin folder, so the login one directly in admin, but then register in a a register folder inside admin so it would look like admin/register. But then it doesn't work, what am i doing wrong 😅
I have one bug if I create a email & it exist, you will get the error it already exits if you create a second email after that it will not disappear but it wil create the email.
hi, I am having trouble getting this to work on my side. i pulled from the github, did npm install, npm run dev, set up a mongo atlas server, created the .env and added the needed variables. I am able to register new users and can see them in the database, but when I try to log in with the email and password it does not do anything. it does not give any error either. did i miss a step, am i doing something wrong?
@JusTheWebDevNJIT
10 ай бұрын
yea im having the same issue its taken me hours and i cant figure it out. I've narrowed it down to the authorize function because the user is being returned incorrectly. Mine is only returning the email or nothing at all.
@Lixeann
8 ай бұрын
@@JusTheWebDevNJIT @dantedurant3412 Solution: Change secret to not a URL but a keyword like secret: 'test', and put it above the providers declaration, then it will work (tested myself)
I got an error in components/UserInfo.jsx (8:38) @ useSession Error: [next-auth]: `useSession` must be wrapped in a How can i fix that? Is error because of using app directory?
@GTCoding
7 ай бұрын
Make sure to wrap the content of the layout file with the SessionProvider. Here is the timestamp: kzread.info/dash/bejne/gnmByNWqipWTcdY.htmlfeature=shared&t=2851
@FRESHGAMENEWS
7 ай бұрын
I looked for the error for 3 days and googled and could not find the solution. Now everything works! Thank you so much! @@GTCoding
why not using typscript?
24:32 - 24:37 How did you do that??? 😳 to Type in Capitalcase on the first cursor position but in lowercase on the second cursor position?
@GTCoding
8 ай бұрын
I am using a VS Code extension called 'Multiple cursor case preserve'.
@atharvmishra884
8 ай бұрын
Thank you so much!! Thats awesome
can you deploy it into netlify
how u make ctrl + d and change name, setName to password, setPassword and u change Password with big letters first word
bhai page reset nhi ho rh koi help kro
I'm using pages instead of app. How will the auth folder look like?
@GTCoding
8 ай бұрын
/pages/api/auth/[...nextauth].js
good job, i have a question, how when u click on logout () => signOut() it redirected u to the home page ??
@GTCoding
8 ай бұрын
In the route.js file of next-auth, I added the pages option and I have set the signIn to the homepage. Go to 46:58 of the video.
@hamzapaskingakhtar
5 ай бұрын
@@GTCoding It is not redirecting for me. What could be the issue? I followed a to z
please make an infinitely nested comments using nextjs and mongodb 🙏🙏
bro, how do I associate specific data with created users, so that only the user who uploaded his data can manage it in CRUD, as comments chat logic?
@user-iq2xr4kf1e
3 ай бұрын
hi, did you figure it out?