Authentication

We use Clerk to handle authentication, user and organization management.

/images/authentication.png

next-forge manages authentication through the use of a auth package. By default, this package is a wrapper around Clerk which provides a complete authentication and user management solution that integrates seamlessly with Next.js applications.

In-App

The @repo/auth package exposes an AuthProvider, however you don't need to use this directly. The DesignSystemProvider includes all relevant providers and higher-order components.

From here, you can use all the pre-built components and hooks provided by Clerk. To demonstrate this, we've added the <OrganizationSwitcher> and <UserButton> components to the sidebar, as well as built out the Sign In and Sign Up pages.

/images/sign-in.png

Webhooks

Clerk uses webhooks to handle authentication events and you can send these to your application. Read more about inbound authentication webhooks.

Email Templates

Clerk handles authentication and authorization emails automatically. You can configure the theming of Clerk-sent emails in their dashboard.

Local Development

Currently there's no way to easily test Clerk webhooks locally, so you'll have to test them in a staging environment. This means deploying your app to a "production" state Vercel project with development environment variables e.g. staging-api.example.com. Then you can add this URL to your Clerk project's webhook settings.