Använda API-nyckel i en öppen källkodsapplikation
Hej!
Jag har funderat lite på att börja använda Resrobots API i "min" applikation GNOME Maps. Problemet är ju att API-nyckeln inte får vidarebefodras till tredjepart. Bryter man avtalet om man har en service discovery-server från vilken man laddar ner en lista med definitioner av olika endpoints (med tillhörande API-nycklar och andra parameterar)? Det finns inget som tekniskt hindrar någon från att titta i koden i hämta samma fil manuellt (t.ex. med curl). Å andra sidan går det ju få fram API-nycklar (med varierande svårighet) även från proprietära binärer.
Jag har funderat lite på att börja använda Resrobots API i "min" applikation GNOME Maps. Problemet är ju att API-nyckeln inte får vidarebefodras till tredjepart. Bryter man avtalet om man har en service discovery-server från vilken man laddar ner en lista med definitioner av olika endpoints (med tillhörande API-nycklar och andra parameterar)? Det finns inget som tekniskt hindrar någon från att titta i koden i hämta samma fil manuellt (t.ex. med curl). Å andra sidan går det ju få fram API-nycklar (med varierande svårighet) även från proprietära binärer.
Följ inlägget
0
följare
Jättekul att du bygger i stöd till Svensk kollektivtrafik!
Går det att lägga till en property i din applikation, som fylls i i byggsteget? I sån fall kan du använda CI/CD för att 'injektera' din nyckel. De som bygger den själv måste hämta en egen nyckel i sån fall, som är inte optimalt, men det verkar som bästa lösning. Din binary med nyckel kan du publicera hur som helst. Försok att hitta en balans mellan att hålla din nyckel hemligt och att hålla implementation och distribution enkelt. Det endaste som händer när någon annan skulle 'stjäla' din nyckel är att andra kan göra anrop som räknar mot din quota, som kan göra det nödvändig för dig att byta nyckel.
Hälsningar,
Bert
Tack för svar!
Kanske till att börja med implementerar så att man har en konfigurationsparameter så att det kan sättas manuellt i run-time och så kan funktionaliteten "disablas" om den inte är satt. Så kan man eventuellt fundera ut andra lösningar senare.
Mvh,
//Marcus