Statuskoder & felsvar

Skillnaden mellan "förnya token", "logga in på nytt" och "sluta försöka" är det som avgör om integrationen återhämtar sig eller låser ute kontot.

Felsvarets form / Error response shape
{
  "status": 401,
  "title": "Unauthorized",
  "detail": "The access token has expired."
}

Behandla status som sanningen. Textfälten är avsedda för loggar och felsökning, inte för att matchas på i kod.

Katalog#

StatusVarVad som häntKlientens åtgärd
400/auth/refreshRefresh-token saknas, är förbrukad eller felformadFull ominloggning. Retry:a aldrig samma token
400/auth/login-by-phonephoneNumber matchar inte ^[+][0-9]{9,13}$, eller fält saknasRätta begäran. Ingen retry
401Alla skyddade anropAccess-token saknas, är utgången eller ogiltigFörnya en gång, gör om anropet en gång
401/auth/refreshRefresh-token förbrukad eller utgångenFull ominloggning. Aldrig retry på token
401Direkt efter lyckad förnyelseSessionen övertagen av en annan inloggningSluta. Larma. Loopa inte
403/device/{deviceId}/*Kontot har ingen nyckel till enhetenSluta. Kontakta KiiOn om nyckeldelning
404/device/{deviceId}/*Okänt {deviceId}, eller enheten tillhör inte kontotHämta enhetslistan på nytt och uppdatera mappningen
409AuthSessionen ersattes av en samtidig inloggningSluta. Säkerställ en singleton per konto
429AllaFör många anropRespektera Retry-After. Exponentiell backoff med jitter
500AllaFel på serversidanBackoff, försök igen — utom på unlock
502 / 503 / 504/device/{deviceId}/unlockEnheten eller gatewayen svarar inteRetry:a inte automatiskt. Visa felet för användaren

Tre regler som räcker#

  1. `401` på ett vanligt anrop = förnya och gör om en gång. Fortsätter det: sluta.
  2. `401`/`400` från `/auth/refresh` = token är död. Logga in på nytt, aldrig retry.
  3. `403` och `404` går inte att försöka sig ur. 403 kräver en nyckel, 404 kräver en ny mappning.

Vidare

Kopiera sidan som Markdown: Visa som Markdown