kavachOS
Authentication

Facebook

Sign in with Facebook using OAuth 2.0.

Setup

Get credentials

Go to the Facebook Developer Portal and create an app. Under Facebook Login > Settings, add your redirect URI:

https://your-app.com/api/kavach/auth/oauth/callback/facebook

Copy the App ID and App Secret from the app dashboard.

Configure

import { createKavach, oauth } from 'kavachos';
import { facebookProvider } from 'kavachos/auth'; 

const kavach = await createKavach({
  database: { provider: 'sqlite', url: 'kavach.db' },
  plugins: [
    oauth({
      providers: [
        facebookProvider( 
          process.env.FACEBOOK_CLIENT_ID, 
          process.env.FACEBOOK_CLIENT_SECRET, 
        ), 
      ],
    }),
  ],
});

Environment variables

FACEBOOK_CLIENT_ID=your_app_id
FACEBOOK_CLIENT_SECRET=your_app_secret

Scopes

Default scopes: email, public_profile

To request additional data, pass a scopes array:

facebookProvider(
  process.env.FACEBOOK_CLIENT_ID,
  process.env.FACEBOOK_CLIENT_SECRET,
  { scopes: ['email', 'public_profile', 'user_birthday'] }, 
)

Facebook requires app review before requesting most extended permissions beyond email and public_profile.

Endpoints

MethodPathDescription
GET/auth/oauth/authorize/facebookRedirect to Facebook
GET/auth/oauth/callback/facebookHandle callback

On this page