Aller au contenu

Démarrage rapide

Vous allez provisionner un tenant avec la clé admin, copier les trois identifiants qu’il renvoie, puis faire un premier appel signé (prepare-pairing). À la fin vous aurez un pairing_proof — le jeton court que vous transmettez à l’appareil pour démarrer un appairage.

Seul tenant_name est requis. Tous les autres champs (limites de débit, origines QR-login, branding, configuration WebAuthn) sont optionnels au provisionnement et modifiables ensuite via /update/tenant.

Fenêtre de terminal
curl $BASE_URL/api/v1/provision/tenant \
-X POST \
-H "X-Admin-Key: YOUR_ADMIN_KEY" \
-H "Content-Type: application/json" \
-d '{
"tenant_name": "example_backend",
"rate_limit_per_min": 120,
"qr_login_allowed_origins": ["https://example.com"],
"callback_url_base": "https://api.example.com",
"branding_display_name": "Example",
"branding_logo_url": "https://example.com/logo.png"
}'

La réponse contient le tenant_secret — il est affiché une seule fois :

{
"success": true,
"status_code": 201,
"message": "Tenant provisioned. Save tenant_secret now — it will not be shown again.",
"data": {
"tenant_id": "tnt_...",
"tenant_secret": "sk_...",
"tenant_name": "example_backend",
"rate_limit_per_min": 120,
"created_at": "2026-06-21T..."
}
}

Conservez les trois valeurs dans le .env du backend appelant :

RELAY_TENANT_ID=tnt_...
RELAY_TENANT_SECRET=sk_...
RELAY_BASE_URL=https://auth-relay.bloonio.com

Chaque appel /relay/* porte trois en-têtes HMAC. La signature est hex(hmac_sha256(tenant_secret, f"{ts_ms}.{sha256_hex(body)}")), l’horodatage est en millisecondes unix et doit être à ±30 s de l’heure du relais.

Fenêtre de terminal
# Calculez d'abord les en-têtes (voir l'onglet Python pour la recette
# complète), puis :
curl $BASE_URL/api/v1/relay/prepare-pairing \
-X POST \
-H "X-Bloonio-Tenant-Id: tnt_..." \
-H "X-Bloonio-Timestamp: 1718966400000" \
-H "X-Bloonio-Signature: <hex_hmac_sha256>" \
-H "Content-Type: application/json" \
-d '{
"user_socket_hash": "9f86d081884c7d659a2feaa0c55ad015",
"backend_user_id": "507f1f77bcf86cd799439011",
"user_email": "jane@example.com",
"display_name": "Example"
}'

Vous obtenez en retour, en cas de succès :

{
"success": true,
"status_code": 201,
"message": "Pairing prepared. Forward pairing_proof to the device.",
"data": {
"pairing_proof": "eyJhbGciOi...",
"expires_in": 300
}
}
  1. Terminez l’appairage. Transmettez le pairing_proof à l’appareil, qui l’échange contre un device_session_token. Voir Appairage & appareils.
  2. Poussez des challenges. Une fois l’appareil appairé, envoyez des invites d’approbation avec Push & alertes de sécurité.
  3. Évitez de signer à la main. Si votre backend est en Python, le SDK Python gère la signature HMAC, le protocole sudo et les callbacks pour vous.