Authentication
Setting up your app’s authentication is easy with Wasp. In fact, it’s already set up for you in the main.wasp file:
auth: { userEntity: User, methods: { email: {}, google: {}, gitHub: {}, discord: {} }, onAuthFailedRedirectTo: "/", },The great part is, by defining your auth config in the main.wasp file, Wasp manages most of the Auth process for you, including the auth-related database entities for user credentials and sessions, as well as auto-generated client components for your app on the fly (aka AuthUI — you can see them in use in the src/auth folder).
Email Verified Auth
email method is the default auth method in Open Saas.
Since it needs to send emails to verify users and reset passwords, it requires an email sender provider: a service it can use to send emails.
“email sender” provider is configured via app.emailSender field in the main.wasp file.
In order to use the email auth method in production, you’ll need to switch from the Dummy “email sender” provider to a production-ready provider like SendGrid:
- First, set up your app’s
emailSenderin themain.waspfile by following this guide. - Add your
SENDGRID_API_KEYto the.env.serverfile. - Make sure the email address you use in the
fromFieldobject is the same email address that you configured your SendGrid account to send out emails with. In the end, yourmain.waspfile should look something like this:
auth: { methods: { email: { fromField: { name: "Open SaaS App", // When using SendGrid, you must use the same email address that you configured your account to send out emails with! email: "me@example.com" }, //... }, } }, //... emailSender: { provider: Dummy, provider: SendGrid, defaultFrom: { name: "Open SaaS App", // When using SendGrid, you must use the same email address that you configured your account to send out emails with! email: "me@example.com" }, },And that’s it. Wasp will take care of the rest and update your AuthUI components accordingly.
Check out the Wasp Auth docs for more info.
Google, GitHub, & Discord Auth
We’ve also customized and pre-built the Google and GitHub auth flow for you. To start using them, you just need to uncomment out the methods you want in your main.wasp file and obtain the proper API keys to add to your .env.server file.
To create a Google OAuth app and get your Google API keys, follow the instructions in Wasp’s Google Auth docs.
To create a GitHub OAuth app and get your GitHub API keys, follow the instructions in Wasp’s GitHub Auth docs.
To create a Discord OAuth app and get your Discord API keys, follow the instructions in Wasp’s Discord Auth docs
Again, Wasp will take care of the rest and update your AuthUI components accordingly.