401 betekent niet geauthenticeerd, 403 betekent bekend maar niet toegestaan. Beantwoord vier vragen over een verzoek en krijg de juiste status, met headers en code.
Geef 401 Unauthorized terug als het verzoek geen geldige inloggegevens heeft: geen token, een verlopen sessie, een ongeldige handtekening. Inloggen kan het oplossen en de response moet een WWW-Authenticate-header bevatten. Geef 403 Forbidden terug als u weet wie de aanroeper is en die dit toch niet mag doen, zodat opnieuw inloggen niets verandert.
Unauthorized tegenover Forbidden
Beantwoord vier vragen over het verzoek dat uw server weigert. De keuzehulp geeft de status die u moet sturen, de bijbehorende header en een reden van één regel die u in een codecommentaar kunt zetten. Hij behandelt ook het geval waarin u liever niet toegeeft dat de resource bestaat.
401 zegt dat de server niet weet wie u bent, of het bewijs dat u stuurde niet accepteerde. 403 zegt dat hij weet wie u bent en dat het antwoord toch nee is.
Ja. RFC 9110 zegt dat een server die een 401-response genereert ten minste één WWW-Authenticate-headerveld met een challenge moet sturen, zoals Bearer voor token-API's.
401. De inloggegevens zijn niet meer geldig en nieuwe zouden het oplossen. Een Bearer-challenge kan dat aangeven met error="invalid_token".
Ja. De specificatie staat een server toe 404 te sturen in plaats van 403 om te verbergen of de resource bestaat. Dat is een gangbare keuze voor id's die bij andere gebruikers horen.
Dat kan. Servers sturen 403 bij elke weigering die ze voor dit verzoek als definitief beschouwen: IP-regels, ontbrekende bestandsrechten, een firewallregel of een mislukte rolcontrole. De body van de response of het serverlog zegt meestal welke.
verifyToken staat voor uw eigen sessie- of JWT-controle. De volgorde telt: eerst authenticeren, dan autoriseren.
Het ene codepad stuurt de gebruiker naar het inlogscherm; het andere legt de weigering uit.
Ja
Nee
Bevatte het verzoek inloggegevens (sessiecookie, token, Authorization-header)?
Waren die inloggegevens geldig en niet verlopen?
Mag deze aanroeper deze actie op deze resource uitvoeren?
Moeten aanroepers zonder toegang niet te weten komen dat de resource bestaat?
Stuur dit
Niemand is ingelogd. Vraag om inloggegevens met een challenge.
Er kwamen inloggegevens binnen, maar ze werden afgewezen. Nieuwe zouden het oplossen.
De aanroeper is bekend en heeft geen toestemming. Opnieuw inloggen helpt niet.
De aanroeper heeft geen toestemming en u wilt liever niet onthullen dat de resource bestaat.
Geauthenticeerd en toegestaan. Handel het verzoek af.
Niet gevraagd, omdat een eerder antwoord de status al bepaalde.
Gratis beginnen · Geen creditcard nodig