Detta inlägg är gammalt och kan innehålla inaktuell information.

Spridning av API-nycklar

Den första punkten i användarvillkoret är att det inte är tillåtet att sprida sina API-nycklar.

Finns det någon rekommenderad metod för hantering av API-nycklar för serverlösa open source applikationer?

Kan man få ok på att ha en hårdkodad API-nyckel på github, alternativt på en publik webbserver som sedan programmet läser?
Det senare skulle underlätta byte av nyckel utan att vara något skydd i sig.

Kommentarer

  • Hej Patrik!

    Regeln finns egentligen för att skydda att nycklar inte missbrukas. Det finns ju begränsningar på hur många anrop man får göra per nyckel, beroende på vilken nivå nyckeln har. Om en nyckel sprids publikt så kan andra personer börja använda samma nyckel till sina egna projekt, och då finns risken att man slår i taket för maximalt antal tillåtna anrop, och nyckeln slutar då att fungera för den månaden.

    Det är inte så att vi kommer att invalidera din nyckel om du väljer att använda den synligt i ett open-source projekt, däremot kommer det att vara väldigt osannlikt att den nyckeln kommer att uppgraderas till högre nivåer än bas/brons-nivån (om du skulle ansöka alltså).

    // Kevin
    Team Trafiklab
  • Hej Patrik,

    På github rekommenderar jag att du har en .env fil eller liknande. Detta är en fil som innehåller all konfiguration som är specifik till en instans och som du inte vill dela, som till exempel ip addresser, dns namn, api nycklar, mail konfiguration, ...
    Du kan också skapa en .env.example fil som innehåller en standard värde för varje property så att användare kan se en exempel.

    Här ser du en env.example file: https://github.com/laravel/laravel/blob/master/.env.example
    När en användare laddar ner laravel måste de kopiera .env.example till .env och måste de fylla i alla fält som behövs.
    En annan example är vår testkeys.example fil som vi har i vår ResRobot SDK: https://github.com/trafiklab/resrobot-php-sdk . På detta sätt kan alla köra testerna, fast de måste kopiera .testkeys.example till .testkeys . .testkeys själv commitas aldrig, eftersom det ligger i vår .gitignore.

    Jag hoppas att detta är ett tydligt exampel om hur man kan hantera API nycklar på Github, säg till om du har flera frågor.

    Om det är helt serverless måste du ha din nyckel publikt. I sån fall går det inte att hålla den hemligt. Vi har inte sett någon missbruk än, det är bara att det finns en små risk att någon annan missbrukar din nyckel och att den slutar funka när sin kvota är nådd.

    Hälsningar,
    Bert

    Bert på Trafiklab
  • Tack för era svar.
    Bra att veta att jag kan köra på, och om problem uppstår med fylld kvot får jag försöka hantera det då.

Kommentera eller skriv ett nytt inlägg

Ditt namn och inlägg kan ses av alla. Din e-post visas aldrig publikt.