OAuth-översikt

OAuth (Open Authorization) är ett autentiseringsprotokoll med vilket användare kan bevilja begränsad åtkomst till sina resurser på en webbplats eller i ett program till en annan webbplats eller ett annat program, utan att dela sina inloggningsuppgifter.

OAuth fungerar som en pålitlig mellanhand, med vilken du ger en tjänst tillåtelse att komma åt dina data hos en annan tjänst, utan att avslöja ditt användarnamn och lösenord. Det här dokumentet innehåller en teknisk förklaring av OAuth-arbetsflödet och en praktisk OAuth-analogi.

OAuth-arbetsflöde

OAuth är ett säkert och standardiserat sätt för användare att bevilja åtkomst till data på olika webbplatser och i olika program utan att dela sina inloggningsuppgifter. Det garanterar att du har kontroll över vilka tjänster som kan komma åt dina data och du kan återkalla tillåtelsen när som helst.

Följande lista förklarar steg för steg hur OAuth fungerar.

Du (användaren) vill använda en webbplats eller ett program (kallas ”klient”) som måste komma åt dina data på en annan webbplats eller i ett annat program (kallas ”resursserver”).

Klienten begär att få komma åt dina data från resursservern. Det gör den vanligtvis genom att omdirigera dig till resursserverns inloggningssida.

Du anger dina inloggningsuppgifter direkt på resursserverns inloggningssida. Det här steget är avgörande, eftersom ditt användarnamn och lösenord aldrig delas med klienten.

Resursservern kontrollerar dina inloggningsuppgifter och autentiserar dig. Efter autentiseringen genererar servern en unik åtkomsttoken för klienten.

Resursservern dirigerar tillbaka dig till klientprogrammet och skickar med åtkomsttoken i omdirigeringen.

Klienten tar emot åtkomsttoken och skickar den till resursservern så fort den behöver komma åt dina data.

Resursservern kontrollerar åtkomsttokens giltighet. Om token är giltig ger servern klienten tillgång till de begärda resurserna under en begränsad tid.

Klienten kan använda den beviljade åtkomsten för att hämta eller ändra dina data på resursservern, men bara inom den omfattning som definieras av åtkomsttoken. Omfattningen avgör vilka åtgärder och data klienten kan komma åt.

Om åtkomsttoken upphör att gälla eller om klienten behöver ytterligare behörigheter kan klienten begära en ny åtkomsttoken genom att gå igenom autentiseringsprocessen igen.

Praktisk OAuth-analogi

Följande är en beskrivning av hur OAuth kan fungera i praktiken.

Tänk dig att du ordnar en fest, och du vill anlita en cateringfirma (klienten) för att sköta maten. Du vill emellertid inte ge cateringfirman nycklarna till ditt hus (dina inloggningsuppgifter), eftersom det skulle ge dem tillgång till alla dina personliga tillhörigheter. Därför använder du en betrodd festfixare (OAuth) för att hantera vem som kommer in var.

Du berättar för festfixaren att du vill anlita en cateringfirma. Festfixaren vet vad som gäller för tillträdet till ditt hus och cateringfirmans tjänster.

Festfixaren kontaktar cateringfirman och ber dem komma hem till dig för ett möte. Du är inte hemma just då.

Cateringfirman kommer fram till ditt hus, men inser att de inte kan komma in utan ditt tillstånd (åtkomsttoken). De ringer dig för att be att få komma in.

Du vill som husägare kontrollera cateringfirmans trovärdighet innan du släpper in dem. Därför ställer du några frågor till cateringfirman för att kontrollera deras identitet (autentisering).

När du är nöjd med cateringfirmans uppgifter ger du dem en tillfällig åtkomstkod (åtkomsttoken) via telefon. Med den här koden kan de nu gå in i ditt hus och laga maten, men bara inom ramarna (omfattningen) för de cateringuppgifter de fått.

Cateringfirman går in i ditt hus med hjälp av åtkomstkoden och börjar duka fram maten. De har tillgång till köket och matsalen, men får inte gå in i några andra rum.

Efter en viss period eller när festen är slut så upphör åtkomstkoden att gälla, vilket säkerställer att cateringfirman inte kan gå in i ditt hus igen utan ditt tillstånd.

I det här scenariot är du (husägaren) användaren, cateringfirman är klientprogrammet, ditt hus representerar dina personliga data på resursservern och festfixaren är OAuth.

Åtkomstkoden fungerar som åtkomsttoken och ger klienten (cateringfirman) begränsad tillgång till dina resurser (ditt hus) utan att äventyra säkerheten för dina inloggningsuppgifter (dina husnycklar).

OAuth fungerar som en pålitlig mellanhand och gör det enklare för dig att dela data mellan tjänster på ett säkert sätt samtidigt som du behåller kontrollen över dina åtkomstbehörigheter.