Authentication
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/facebookCopy 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_secretScopes
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
| Method | Path | Description |
|---|---|---|
| GET | /auth/oauth/authorize/facebook | Redirect to Facebook |
| GET | /auth/oauth/callback/facebook | Handle callback |