sbacs-session-sdk
v1.0.0
Published
Session-Based Access Control System SDK for website integration
Maintainers
Readme
SBACS SDK
Session-Based Access Control System SDK for seamless website integration.
Installation
npm install @sbacs/sdkQuick Start
Backend (Express.js)
const { SBACSServer } = require('@sbacs/sdk');
const sbacs = new SBACSServer({
apiKey: 'your-api-key',
secretKey: 'your-secret-key'
});
// Add middleware
app.use(sbacs.captureSession());
app.use('/api/sbacs', sbacs.routes());
// Shared access route
app.get('/shared/:token', sbacs.validateSharedAccess(), (req, res) => {
res.redirect(`/?token=${req.params.token}`);
});Frontend (React)
import { useSBACS } from '@sbacs/sdk/client';
function ShareButton() {
const { createShareLink } = useSBACS({ apiUrl: '/api/sbacs' });
const handleShare = async () => {
const link = await createShareLink({
duration: '2h',
permissions: ['read', 'write']
});
navigator.clipboard.writeText(link.shareUrl);
};
return <button onClick={handleShare}>Share Access</button>;
}Features
- 🔐 Secure Token Generation - JWT-based temporary access
- ⏰ Automatic Expiration - Configurable session duration
- 🎯 Permission Control - Granular access permissions
- 🔄 Session Capture - Seamless user session sharing
- 📱 React Hooks - Easy frontend integration
- 🛡️ Middleware Support - Express.js middleware included
API Reference
SBACSServer
Constructor
new SBACSServer({ apiKey, secretKey })Methods
captureSession()- Middleware to capture user sessionsvalidateSharedAccess()- Middleware to validate shared tokensroutes()- Express router with SBACS endpoints
SBACSClient
Constructor
new SBACSClient({ apiUrl })Methods
createSession(options)- Create temporary access tokenvalidateToken(token)- Validate access tokenrevokeToken(token)- Revoke access token
React Hook
const { createShareLink, validateAccess } = useSBACS({ apiUrl });Integration Examples
See INTEGRATION_EXAMPLE.md for complete integration guide with fit-with-ai.
License
MIT
