Docs

Apple

Get your OAuth credentials

To use Apple sign in, you need a client ID and client secret. You can get them from the Apple Developer Portal.

Apple requires a little harder setup to get a client secret. You can use the guide below to get your client secret.

Creating a client secret

Configure the provider

To configure the provider, you need to add it to the socialProviders option of the auth instance.

auth.ts
import { betterAuth } from "better-auth"
 
export const auth = betterAuth({
    socialProviders: { 
        apple: { 
            clientId: process.env.APPLE_CLIENT_ID as string, 
            clientSecret: process.env.APPLE_CLIENT_SECRET as string, 
        }, 
    }, 
})

Signin with Apple

To signin with Apple, you can use the signIn.social function provided by the client. The signIn function takes an object with the following properties:

  • provider: The provider to use. It should be set to apple.
client.ts
import { createAuthClient } from "better-auth/client"
const client = createAuthClient()
 
const signin = async () => {
    const data = await client.signIn.social({
        provider: "apple"
    })
}

On this page

Edit on GitHub