@interlucent/admission-sdk
v1.0.2
Published
Zero-dependency SDK for generating custom admission tokens for Interlucent
Downloads
606
Readme
@interlucent/admission-sdk
Create admission tokens with the Interlucent SDK. Visit interlucent.ai for more details.
Installation
npm install @interlucent/admission-sdkQuick Start
Initialize the client with your project's secret key. The client handles signing and expiration.
import { AdmissionClient } from '@interlucent/admission-sdk';
const client = await AdmissionClient.create(
process.env.INTERLUCENT_SECRET_KEY!
);Warning The secret key must only be used server-side. Never expose it in client-side code or commit it to version control.
Note Find your project secret key in Console > Project > Admission Tokens.
Creating Tokens
Minimal
The simplest token: specifies the application and a 5-minute expiration. All tolerances use platform defaults.
const token = await client
.createToken()
.withApplication('PFfFuw') // your app ID from the Console
.expiresIn(300)
.sign();Pass this token to your frontend and set it on the <pixel-stream> component's admission-token attribute.
With Options
const token = await client
.createToken()
.withApplication('PFfFuw')
.withVersion('MrM')
.withQueueWaitTolerance(45)
.withFlexiblePresenceAllowance(120)
.withRendezvousTolerance(30)
.withReference('campaign-001')
.withSwiftJobRequest()
.expiresIn(300)
.sign();Builder Methods
| Method | Description |
|--------|-------------|
| withApplication(appId) | Set application ID |
| withApp(appId) | Alias for withApplication() |
| withVersion(versionId) | Set application version |
| withReference(ref) | Set a tracking reference |
| withSwiftJobRequest() | Submit job earlier in the process |
| withFlexiblePresenceAllowance(s) | Reconnect grace period |
| withRendezvousTolerance(s) | Counterpart wait time |
| withLingerTolerance(s) | Alone-after-leave timeout |
| withQueueWaitTolerance(s) | Queue wait |
| withWebRtcNegotiationTolerance(s) | WebRTC connect timeout |
| withLocation(lat, lng) | Override geo-location |
| expiresIn(seconds) | Set token TTL (default: 300s) |
| expiresInFiveMinutes() | Set token TTL to 5 minutes |
| expiresInOneHour() | Set token TTL to 1 hour |
| expiresInOneDay() | Set token TTL to 24 hours |
| sign() | Sign and return the token string |
Environment Compatibility
The SDK uses the Web Crypto API with zero dependencies. It works in:
- Node.js 18+
- Bun
- Deno
Warning Again, the secret key used by this SDK must only be used server-side. Never expose it in client-side code or commit it to version control.
