Authentication

OAuth

Get started with social authentication.

Better Auth supports almost 15 (!) different OAuth providers. They can be easily configured and enabled in the kit without any additional configuration needed.

Everything configured!

TurboStarter provides you with all the configuration required to handle OAuth providers responses from your app:

  • redirects
  • middleware
  • confirmation API routes

You just need to configure one of the below providers on their side and set correct credentials as environment variables in your TurboStarter app.

OAuth providers

Third Party providers need to be configured, managed and enabled fully on the provider's side. TurboStarter just needs the correct credentials to be set as environment variables in your app and passed to the authentication API configuration.

To enable OAuth providers in your TurboStarter app, you need to:

  1. Set up an OAuth application in the provider's developer console (like Google Cloud Console, Github Developer Settings or any other provider you want to use)
  2. Configure the provider's credentials as environment variables in your app. For example, for Google OAuth:
packages/db/.env.local
GOOGLE_CLIENT_ID=
GOOGLE_CLIENT_SECRET=

Then, pass it to the authentication configuration in packages/auth/src/server.ts:

server.ts
export const auth = betterAuth({
  ...
 
  socialProviders: {
    [SOCIAL_PROVIDER.GOOGLE]: {
      clientId: env.GOOGLE_CLIENT_ID,
      clientSecret: env.GOOGLE_CLIENT_SECRET,
    },
  },
 
  ...
});

Missing provider?

Better Auth provides a generic OAuth plugin that allows you to add any OAuth provider to your app.

It supports both OAuth 2.0 and OpenID Connect (OIDC) flows, allowing you to easily add social login or custom OAuth authentication to your application.

Last updated on

On this page

No Headings
Ship your startup everywhere. In minutes.