Vad är OAuth, och varför ska en AI-agent logga in som en person?

Gustav Brochmann

En AI-agent ska logga in som den person som startade den, med den personens behörigheter, och det är vad OAuth gör möjligt. Alternativet, en delad API-nyckel med fulla rättigheter, gör att agenten kan mer än användaren, att loggen blir värdelös och att en läckt nyckel drabbar alla. OAuth ger rättigheter som följer personen, en omfattning per koppling och en logg som visar vem som låg bakom varje ändring.

Kort förklaring

OAuth är ett sätt för en person att ge ett program tillåtelse att agera för hens räkning, utan att lämna ut sitt lösenord. Det är samma sak som sker när ni väljer ”logga in med Google” på en annan tjänst: tjänsten får en begränsad nyckel som går att återkalla, inte ert lösenord.

För en AI-agent som arbetar i era system är det rätt grund, av en enkel anledning: agenten ska aldrig kunna mer än den person som startade den.

Alternativet: en delad API-nyckel

Det vanliga genvägen är en API-nyckel med fulla rättigheter som agenten använder åt alla. Det har tre problem:

  • Agenten kan mer än användaren. Nyckeln saknar koppling till en person, så en medarbetare med begränsad behörighet får i praktiken full behörighet via agenten.
  • Loggen är värdelös. Den säger ”integrationen”, inte vem som bad om vad.
  • Återkallelse drabbar alla. Läcker nyckeln måste den bytas överallt på en gång.

Så fungerar det med OAuth

I förenklad form:

  1. Användaren kopplar sin AI-klient, till exempel Claude, mot er MCP-slutpunkt.
  2. Hen skickas till er vanliga inloggning och loggar in som sig själv.
  3. Systemet frågar vad kopplingen ska få göra: läsa, skriva, ta bort.
  4. Klienten får ett åtkomsttoken som pekar på just den personen och just de rättigheterna.
  5. Varje anrop körs som personen. Tokens giltighet är begränsad och kan återkallas när som helst.

I vårt eget system, Altu Central Command, skyddas MCP-slutpunkten med OAuth 2.1. Ett åtkomsttoken pekar på en verklig användare med dennes roll, och en koppling kan återkallas utan att någon annans påverkas.

Tre saker ni får på köpet

Rättigheter som följer personen

Slutar någon, eller byter roll, gäller det direkt för agenten också. Ni behöver inte komma ihåg att dra in en nyckel.

Omfattning per koppling

Användaren kan ge en koppling bara läsrätt. Det är praktiskt för den som vill prova utan att riskera något. Skrivrättigheter kan sedan läggas till.

En logg som säger något

”Claude, åt Anna, i tisdags” är en användbar rad. ”Integrationen” är det inte. Se hur loggen används i Hur låter man en AI-agent uppdatera ett CRM utan att den förstör något?.

Vad OAuth inte löser

OAuth avgör vem agenten är och vad den får göra i grova drag. Det räcker inte som enda skydd. Ni behöver fortfarande regler för vad som får ändras, en godkännandekö för befintlig data och verktyg som kontrollerar behörighet per post. OAuth är fundamentet, inte hela huset.

Frågor att ställa en leverantör

  • Kör agenten som den inloggade personen, eller med en delad nyckel?
  • Kan en enskild koppling återkallas utan att andra påverkas?
  • Kan användaren begränsa en koppling till läsning?
  • Syns det i loggen vilken person som låg bakom varje ändring?

Mer om hur AI-agenter når era system finns i MCP för svenska bolag och Vad är en AI-agent?.

Vill ni ha en agent som arbetar som en riktig person i era system? Hör av er.