Hoppa till innehållet
Stackship-dokumentation English

ÅtkomstkontrollAnvändareMaskinöversatt

Fel vid inbjudningar och lösenord

Felkoderna som rutterna för inbjudningar, lösenordsåterställning och lösenordsbyte svarar med, när var och en uppstår och vad du gör åt den.

De här koderna kommer från tre flöden: att bjuda in personer till en boundary, att återställa ett glömt lösenord och att byta sitt eget lösenord. Kroppen har plattformens vanliga form — error, code, correlationId och traceId, som beskrivs i Felkroppen — med module satt till rbac. Koden finns i code; error är en mening för människor och är inte stabil.

Avslag som sker innan de här rutterna körs behåller de plattformsgemensamma koderna: en saknad behörighet är FORBIDDEN, en anropskropp som inte går att läsa är MODEL_BINDING_FAILED eller BAD_REQUEST, och en saknad eller utgången inloggning är UNAUTHORIZED. Se Fel. Hur inbjudningar fungerar i portalen beskrivs i Bjud in och hantera användare.

Bjuda in och hantera inbjudningar

De här rutterna kräver boundaries/invitations/create på boundaryn:

Rutt Vad den gör
POST /boundaries/{boundaryId}/providers/authorization/invitations Skapar en inbjudan
DELETE /boundaries/{boundaryId}/providers/authorization/invitations/{invitationId} Återkallar en
POST /boundaries/{boundaryId}/providers/authorization/invitations/{invitationId}/resend Skickar om en

Ett anrop som skapar en inbjudan kontrolleras i den här ordningen: e-postadressen och rollen, boundaryns tenant, omfattningen och vem som får ge rollen, och sist befintliga inbjudningar och tilldelningar. Den första kontroll som misslyckas avgör koden. Utöver koderna nedan kan de här rutterna svara not_found och invalid_state.

unknown_role

400. Bara när en inbjudan skapas. roleDefinitionName stämmer inte exakt med namnet på någon roll — inbyggd eller anpassad. Använd namnet som det visas under Åtkomstkontroll (IAM) → Roller, till exempel Contributor.

forbidden

403. Bara när en inbjudan skapas. Du får skicka inbjudningar i den här boundaryn, men rollen är en som bara finns i plattformsroten — Platform Owner, Platform Contributor, Platform Reader eller LLM Gateway Consumer — och du är inte Owner eller Platform Owner i roten, tilldelad direkt eller genom aktiv just-in-time-åtkomst. Be en Platform Owner att skicka inbjudan.

Det här forbidden med gemener är inte det plattformsgemensamma FORBIDDEN, som samma rutt svarar med, också med 403, när du saknar själva boundaries/invitations/create.

tenant_resolution_failed

503. Bara när en inbjudan skapas. Plattformen kunde inte hitta den tenant som boundaryn hör till: boundaryn finns inte, tjänsten som slår upp den får inte läsa den, eller boundaryn har ingen tenant. De här orsakerna går inte över av sig själva, så ett nytt försök hjälper sällan. Rapportera felet med correlationId.

duplicate_pending

409. Bara när en inbjudan skapas. Boundaryn har redan en öppen inbjudan — Väntande eller Väntar på inloggning — till samma e-postadress, oavsett roll och omfattning. Adresser jämförs utan hänsyn till versaler och gemener. Skicka om den befintliga inbjudan, eller återkalla den och bjud in igen med den roll och omfattning du vill ha.

already_member

409. Bara när en inbjudan skapas. Adressen tillhör en befintlig användare som redan har den här rollen med den här omfattningen, tilldelad direkt till användaren. En roll som användaren har genom en grupp, samma roll med en annan omfattning eller en annan roll med den här omfattningen stoppar inte inbjudan. Inget behöver göras; vill du ge användaren mer åtkomst väljer du en annan roll eller omfattning.

already_accepted

409. Bara vid återkallning. Inbjudan har accepterats, så det finns inget kvar att återkalla. Ta bort rolltilldelningen för att ta bort åtkomsten — se Rolltilldelningar.

already_revoked

409. Bara vid återkallning. Inbjudan är redan återkallad. Inget behöver göras.

resend_limit

429. Bara vid omsändning. Inbjudan har skickats om så många gånger som den får för tillfället. Med standardinställningarna går de tre första omsändningarna av en inbjudan alltid igenom; efter det tillåts en till när 24 timmar har gått sedan den senaste omsändningen. Gränsen gäller varje inbjudan för sig, och en plattformsadministratör kan ändra den. Svaret har ingen header Retry-After.

Vänta tills 24 timmar har gått sedan den senaste omsändningen, eller återkalla inbjudan och bjud in personen igen — en ny inbjudan har en egen gräns.

Acceptera en inbjudan

Länken i inbjudans e-postmeddelande innehåller en token. Portalen använder den på de här rutterna:

Rutt Inloggning Vad den gör
POST /invitations/{token}/set-password Behövs inte Skapar kontot för den som saknar konto. Kropp: password, firstName, lastName
POST /invitations/accept Behövs Accepterar inbjudan som den inloggade användaren. Kropp: token

Utöver koderna nedan kan de här rutterna svara not_found, expired, invalid_state och, vid set-password, password_policy.

GET /invitations/{token}, som portalen anropar för att visa inbjudan, använder inte de här koderna: en länk som inte går att använda svarar 404 med det plattformsgemensamma NOT_FOUND.

email_not_verified

400. Bara vid accept. Ditt kontos e-postadress är inte verifierad. Det kontrolleras före allt annat, så det är svaret även när token är fel. Verifiera adressen, logga sedan in igen och acceptera.

email_mismatch

409. Bara vid accept. Du är inloggad med en annan adress än den som inbjudan skickades till, eller så innehåller din inloggning ingen e-postadress alls. Jämförelsen tar ingen hänsyn till versaler och gemener. Logga ut, logga in med den inbjudna adressen och öppna länken igen.

user_already_exists

409. Bara vid set-password. Inbjudan skapades för någon utan konto, men nu finns ett konto med den adressen — till exempel för att personen först accepterade en annan inbjudan. Inbjudan byter till flödet för befintliga användare: logga in med det befintliga kontot och acceptera sedan. När länken öppnas igen visas alternativet att logga in.

Återställa ett glömt lösenord

Rutt Vad den gör
POST /identity/password-reset Skickar en återställningslänk. Kropp: email
POST /identity/password-reset/{token} Sätter det nya lösenordet. Kropp: password

En begäran om återställning svarar alltid 202 Accepted, oavsett om adressen har ett konto och oavsett om ett e-postmeddelande skickas. För många begäranden från samma IP-adress svarar 429 med det plattformsgemensamma REQUEST_FAILED.

Att sätta det nya lösenordet kan svara not_found, expired och password_policy. En återställningslänk gäller i 60 minuter som standard och kan användas en gång.

GET /identity/password-reset/{token}, som portalen anropar för att visa återställningssidan, använder inte de här koderna: en länk som inte går att använda svarar 404 med det plattformsgemensamma NOT_FOUND.

Byta ditt lösenord

POST /identity/change-password, med kroppen password, byter den inloggade användarens eget lösenord. Utöver koderna nedan kan rutten svara password_policy, som kontrolleras sist.

unknown_user

401. Din inloggning pekar inte ut en användare som identitetsleverantören känner till: token saknar ett användbart subjekt, eller kontot finns inte längre. Det kontrolleras först. Logga in igen; om felet består, rapportera det med correlationId.

reauth_required

401. Det var för länge sedan du loggade in. Ett lösenordsbyte kräver en inloggning från de senaste fem minuterna; en förnyad token behåller sin ursprungliga inloggningstid och räknas inte. Logga in igen — med ditt lösenord — och försök igen inom fem minuter.

not_locally_authenticated

409. Kontot har inget lösenord på plattformen att byta: det loggar in via en extern identitetsleverantör, eller så är det en tjänsteprincipal. Byt lösenordet hos den externa leverantören. En tjänsteprincipal autentiserar sig i stället med sin hemlighet — se Tjänstekonton.

Koder som flera flöden delar

not_found

404.

  • Återkalla eller skicka om — det finns ingen inbjudan med det id:t i den här boundaryn. Läs in listan över inbjudningar igen.
  • Set-password eller accept — token är tom, felformaterad eller okänd. Länken från en inbjudan som har skickats om sedan dess är också okänd: varje omsändning ersätter länken. Använd det senaste inbjudningsmeddelandet, eller be om en ny inbjudan.
  • Sätta ett nytt lösenord efter en återställning — länken är okänd, felformaterad, redan använd, eller har tagits ur bruk för att en annan återställningslänk för kontot användes först. Alla de fallen ger avsiktligt samma svar. Begär en ny återställning.

expired

410.

  • Set-password eller accept — inbjudan har passerat sitt utgångsdatum. Det anrop som upptäcker det markerar inbjudan som Utgången; senare anrop med samma länk svarar invalid_state i stället, och det gör varje anrop när plattformens återkommande rensning har markerat den. En utgången inbjudan kan inte skickas om. Be den som bjöd in dig att skicka en ny inbjudan.
  • Sätta ett nytt lösenord efter en återställning — återställningslänken har gått ut. Varje senare anrop med den svarar också expired. Begär en ny återställning.

invalid_state

400. Anropet kan inte utföras, oftast på grund av inbjudans status. Meningen i error säger vilket fall det gäller.

  • Skapa — e-postadressen är tom; en roll som bara finns i plattformsroten fick en annan omfattning än plattformsroten; eller en annan roll fick en omfattning som inte är giltig eller ligger utanför den här boundaryn. Rätta anropet.
  • Skicka om — inbjudan är Accepterad, Återkallad eller Utgången. Skicka en ny inbjudan i stället.
  • Set-password — inbjudan gäller någon som redan har ett konto (logga in och acceptera i stället), eller så är den inte längre Väntande. En inbjudan som Väntar på inloggning är inget fel: set-password svarar 200 igen, med samma inloggningslänk.
  • Accept — inbjudan är Accepterad, Återkallad eller Utgången, eller så skapades den för någon utan konto och lösenordet har inte satts ännu. Sätt lösenordet först, eller be om en ny inbjudan.

password_policy

422. Lösenordet uppfyller inte plattformens lösenordsregler. Reglerna publiceras på GET /identity/password-policy (och på GET /invitations/password-policy): minsta längd, minsta antal siffror, gemener, versaler och specialtecken, och om lösenordet får innehålla e-postadressen. Ett tomt lösenord ger också den här koden.

  • Sätta ett nytt lösenord efter en återställning, och byta ditt lösenord — kroppen har en array violations med en mening per regel som lösenordet bryter mot.
  • Set-password på en inbjudan — kroppen har inget fält violations; de regler som bryts räknas upp i error, åtskilda med ; .

Välj ett lösenord som uppfyller alla regler och försök igen.