Autentificering
Hver forespørgsel til det offentlige API bærer et legitimationspar — nb_pub_* (offentlig nøgle) + nb_sec_* (hemmelighed). Hemmeligheden sendes som en Bearer-token. Legitimationen er scopet til én enkelt organisation + et fast scope-katalog.
Udstedelse af legitimation
- Log ind på din organisation på app.nexbasira.com.
- Gå til Admin → API-legitimation.
- Klik på Udsted legitimation, vælg et navn + scopes, bekræft.
- Kopiér parret
nb_pub_*+nb_sec_*. Hemmeligheden vises præcis én gang. Gem den i din secrets manager med det samme — vi opbevarer kun en SHA-256-hash på vores side.
Brug af legitimationen
Authorization: Bearer nb_sec_AbCdEf... Den offentlige nøgle (nb_pub_*) identificerer legitimationen i vores logs + optræder i webhook-leveringers NB-Credential-Id-header. Hemmeligheden autentificerer.
curl https://app.nexbasira.com/api/v1/public/sessions \
-H "Authorization: Bearer nb_sec_..." Scope-katalog
Hver legitimation oprettes med et eksplicit sæt scopes. Forespørgsler uden for disse scopes returnerer 403. Scope-kataloget er fast (ingen brugerdefinerede scopes i v1):
| Scope | Giver adgang til |
|---|---|
sessions:read | List + hent sessioner |
sessions:write | Opret sessioner + afslut dem |
participants:read | List deltagere på en session |
participants:write | Præg feltbruger-invitationer |
evidence:read | List + hent bevisrækker + signerede download-URL'er |
recordings:read | Læs metadata for optagelsesartefakter + download-URL'er |
audit:read | Læs audit-kæden pr. session + TSA-forankringskoordinater |
webhooks:read | List registrerede webhook-endpoints + leveringslog |
webhooks:write | Registrér / rotér-hemmelighed / slet webhook-endpoints |
branding:read | Læs organisationens branding (logo / farver / PDF-sidefod) |
branding:write | Ændr organisationens branding |
org:read | Læs organisationens metadata |
whiteboards:read | List whiteboards pr. session |
Rotation
Sådan roterer du uden nedetid:
- Udsted en ny legitimation med samme sæt scopes.
- Udrul den nye hemmelighed til din applikation.
- Verificér, at den nye legitimation modtager trafik (Admin → API-legitimation viser tidsstempel for sidst brugt).
- Soft-revoke den gamle legitimation. Eksisterende forespørgsler, der bruger den, får 401; audit-sporet for tidligere kald forbliver intakt.
Konstanttids-verifikation
På backenden gemmes hemmeligheder som SHA-256(secret + SECRET_KEY_pepper) og sammenlignes i konstant tid (hmac.compare_digest). Et lækket hash-dump kan ikke brute-forces til klartekst uden også at bryde pepperen.
Hvad denne legitimation IKKE giver adgang til
- SPA-adminadgang — det er separat (operatør-login + RBAC).
- Tilslutning på feltsiden — de bruger engangs-signerede URL'er, der præges via
sessions.invite(). - SCIM-provisionering — bruger en separat bearer-token pr. organisation, se SCIM-provisionering.
- Webhook-signering — det gøres med
whsec_*-hemmeligheden pr. endpoint, se Webhooks.
Audit-spor
Hvert API-kald logges med legitimationens offentlige nøgle + endpointet + status. Operationer, der ændrer tilstand, skriver desuden audit-rækker i den berørte organisation. Admin kan se legitimationens aktivitet under Admin → API-legitimation → [legitimation] → Aktivitet.