OAuth och API-nycklar
De två vanligaste sätten att ge ett system åtkomst till ett annat utan att lämna ut ett lösenord.
När två system ska prata med varandra måste det ena bevisa vem det är. Det görs nästan alltid på ett av två sätt.
API-nyckel. En lång teckensträng som följer med varje anrop. Enkelt, och används fortfarande av många system. Nackdelen är att den som har strängen har full åtkomst, den upphör sällan att gälla, och den går inte att avgränsa till en del av systemet.
OAuth. Ni godkänner kopplingen en gång i det system som äger uppgifterna, och den får då en tidsbegränsad nyckel som förnyas automatiskt. Åtkomsten går att avgränsa till vissa delar, och den går att återkalla utan att något lösenord byts.
Varför skillnaden märks i praktiken
En API-nyckel är enklare att komma igång med och svårare att leva med. Den hamnar lätt i ett mejl, i en konfigurationsfil, i en chatt. Den som en gång fått den har åtkomst tills någon aktivt byter, och att byta betyder att allt som använder den slutar fungera samtidigt.
OAuth är mer arbete att sätta upp och betydligt mindre arbete att förvalta. Det är därför Fortnox, Visma och de flesta moderna system gått över till det.
Det som ska stå i ert avtal
Åtkomsten ska vara registrerad i ert namn, inte hos den som byggde kopplingen. Det låter självklart och är det inte. Ligger godkännandet hos konsulten är ni beroende av dem för att kunna byta leverantör, och det upptäcks alltid vid fel tillfälle.
Aldrig i ett mejl, aldrig i en chatt, aldrig i koden. Nycklar hör hemma i en lösenordshanterare eller i serverns miljövariabler.