Documentation Index
Fetch the complete documentation index at: https://docs.bawabah.app/llms.txt
Use this file to discover all available pages before exploring further.
Back-end Setup
In case you use a language other than Node.js or you prefer to integrate with Bawabah API manually, please refer to our API Reference.
Install Bawanah Library
First, we have to install Bawabah Library from NPM (https://www.npmjs.com/package/bawabah) using the command:
After installing the npm Package, we can start using it immediately:
// Import Bawabah Library
import Bawabah from 'bawabah';
// Initialize Bawabah with your credentials
const bw = new Bawabah();
bw.init({
appId: "your-app-id",
appSecret: "your-app-secret"
});
Replace {your-app-id} with your appId and {your-app-secret}with your appSecret From Create Your First App Step.
Create Callback Route
Now we will create the callback route to capture the user session. In this example, we will use Express.js to create the route, then capture the user session with the capture() function:
But before that, we need to install Express.js using this command:
// Import Express and Bawabah Library
import express from 'express';
import Bawabah from 'bawabah';
// Initialize Bawabah with your credentials
const bw = new Bawabah();
bw.init({
appId: "your-app-id",
appSecret: "your-app-secret"
});
// Create Express app
const app = express();
const PORT = process.env.PORT || 3000;
// Callback route for Bawabah redirect
app.get('/login/callback', async (req, res) => {
const sessionId = req.query.sessionId as string; // Get Session Id from Query /login/callback?sessionId=abc123
// Capture user session from Bawabah
const result = await bw.capture(sessionId);
console.log(result); // Log User Data -- for Debugging --
res.json({ loggedIn: true });
});
// Start the Express server
app.listen(PORT, () => {
console.log(`Server running on http://localhost:${PORT}`);
});
Finally, after testing the implementation, we can add our Login/Signup logic and wrap the code in a try/catch block to catch any errors:
// Import Express and Bawabah Library
import express from 'express';
import Bawabah from 'bawabah';
// Initialize Bawabah with your credentials
const bw = new Bawabah();
bw.init({
appId: "your-app-id",
appSecret: "your-app-secret"
});
// Create Express app
const app = express();
const PORT = process.env.PORT || 3000;
// Callback route for Bawabah redirect
app.get('/login/callback', async (req, res) => {
const sessionId = req.query.sessionId as string; // Get Session Id from Query /login/callback?sessionId=abc123
if (!sessionId) {
// If sessionId is missing, return a 400 error
return res.status(400).send('Missing sessionId in query');
}
try {
// Capture user session from Bawabah
const result = await bw.capture(sessionId);
// --- Perform Your User Login/Signup Logic here ---
res.status(200).json({ loggedIn: true });
} catch (err) {
// If Bawabah API Respond with an Error, return a 500 error to the user with details
res.status(500).json({ error: 'Failed to capture session', details: err });
}
});
// Start the Express server
app.listen(PORT, () => {
console.log(`Server running on http://localhost:${PORT}`);
});
Choose your preferred framework: