Varför krävs ' Bearer ' före token i ' Auktorisering ' rubrik i en HTTP-begäran?

Vad exakt är skillnaden mellan följande två rubriker:

Authorization : Bearer cn389ncoiwuencr vs Authorization : cn389ncoiwuencr 

Alla källor som jag har gått igenom, sätter värdet på rubriken ”Auktorisering” som ”Bearer” följt av den faktiska token. Men jag har inte kunnat förstå betydelsen av det. Vad händer om jag helt enkelt lägger token i behörighetsrubriken?

Kommentarer

  • Det finns andra metoder för http-autentisering, som basic eller digest . Jag antar att det ' är trevligt att kunna skilja dem.
  • Frågan handlar specifikt om tokenbaserad autentisering, vilket vanligtvis görs efter grundläggande autentisering så att användaren behöver ' inte ange användarnamn och lösenord för varje begäran.
  • Jag hade också en liknande fråga. Jag ville välja ett schema för en kortlivad tokenimplementering, som inte är helt Oauth 2.0-kompatibel. Jag undrade om jag kunde använda Bearer eller något icke-standardvärde utan att få problem med proxies ' och servrar ' tolkning. Det närmaste jag kom att hitta ett svar var: stackoverflow.com/questions/7802116/… och stackoverflow.com/questions/8463809/…
  • Returnerar servrar i allmänhet en token via samma rutt dvs. " Auktorisering: Bärare " för HTTP-svaret? Eller är det nästan alltid en del av svarsorganet?
  • Denna HTTP-autentiseringssida på MDN är mycket användbar för diskussionen.

Svar

Authorization: <type> <credentials> mönstret introducerades av W3C i HTTP 1.0 och har använts på många ställen sedan dess. Många webbservrar stöder flera metoder för auktorisering. I dessa fall är det bara inte tillräckligt att skicka token.

Webbplatser som använder

Authorization : Bearer cn389ncoiwuencr 

-formatet implementerar sannolikt OAuth 2.0 bärartoken . OAuth 2.0 Authorization Framework ställer ett antal andra krav för att skydda auktoriseringen, till exempel kräver användning av HTTPS / TLS.

Om du integrerar med en tjänst som använder OAuth 2.0 är det en bra idé att bekanta dig med ramverket så att det flöde du använder är implementeras korrekt och undvikande av onödiga sårbarheter. Det finns ett antal bra självstudier tillgängliga online.

Kommentarer

  • I ' Jag är inte bekant med MS Graph API, kan vara en karaktär av deras implementering.
  • Det var vad jag tänkte. Med tanke på din kunskap om Bearer Tokens och tokens i allmänhet, kan du se någon säkerhet implikationer av det faktum att API accepterar token wi om bärarens nyckelord?
  • Inte riktigt, men jag instämmer i en kommentar i den frågan – om deras genomförande skiljer sig åt på det här stället, vad mer är då annorlunda? Med detta sagt finns det ett antal OAuth-liknande implementeringar där ute som avviker från RFC. Det betyder dock inte automatiskt att deras implementeringar är mindre säkra.

Svar

Långt innan innehavarens auktorisering, den här rubriken användes för Grundläggande autentisering . För interoperabilitet styrs användningen av dessa rubriker av W3C-normer, så även om du läser och skriver rubriken bör du följa dem. Bearer skiljer vilken typ av auktorisering du använder, så det är viktigt.

Svar

En bärartoken ställs in i behörighetsrubriken för varje Inline Action HTTP-begäran och bäraren själv bestämmer typen av autentisering.

Ref https://developers.google.com/gmail/markup/actions/verifying-bearer-tokens

Kommentarer

  • Det här svaret är specifikt för gmail-utvecklare, inte för alla webbutvecklare. En ' -åtgärd ' är en gmail-koncept.

Lämna ett svar

Din e-postadress kommer inte publiceras. Obligatoriska fält är märkta *