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:
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
emailSender
in themain.wasp
file by following this guide. - Add your
SENDGRID_API_KEY
to the.env.server
file. - Make sure the email address you use in the
fromField
object is the same email address that you configured your SendGrid account to send out emails with. In the end, yourmain.wasp
file should look something like this:
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.