Authentication

Learn how Kavach handles user authentication across different providers.

Auth Flows

Kavach supports multiple authentication flows:

FlowDescription
OAuthSocial login (Google, GitHub, etc.)
Magic LinkPasswordless via email
PasswordTraditional email/password
PasskeyWebAuthn/FIDO2

Sign In

Authenticate a user:

import { kavach } from '$kavach/auth'

// In your component
async function handleSignIn() {
  const result = await kavach.signIn({
    provider: 'google',
    redirectTo: '/dashboard'
  })
  
  if (result.type === 'success') {
    // User signed in
  }
}

Sign Up

Create a new user account:

const result = await kavach.signUp({
  email: 'user@example.com',
  password: 'secure-password',
  options: {
    emailRedirectTo: '/auth/verify'
  }
})

Sign Out

await kavach.signOut()

Next Steps

Kavach — Authentication made simple llms.txt