API nycken i serverless app
Hej,
Jag byggeren app som är tänk att visualisera olika lokal data, utan någon form av server. I denna app är det tänk att i produktions versionen hårdkoka in en nykel som kommer användas appen, vilket jag hoppas är tillåtet då den i sig inte är publikt läsbar?
Men, hur rekommenderar ni att man hanterar användning an apiet, då det kommer vara en app så handlar det ju inte om en statisk plats, utan en unik plats för varje användare. ResRobot - Stolptidtabeller 2 är tänkt att användas och där önskas då realtids uppdateringar spå förseningar kunna visas för användare. Dessa är ju svåra att lagra lokalt i appen och medför enmängd anrop. Vilken relativt enkelt då med få användare överstiger de begränsningar av anrop som görs.
Har ni någon rekommendation på tillvägagångssätt för detta, då det kan leda till en icke fungerande tjänst?
mvh
Henrik
Jag byggeren app som är tänk att visualisera olika lokal data, utan någon form av server. I denna app är det tänk att i produktions versionen hårdkoka in en nykel som kommer användas appen, vilket jag hoppas är tillåtet då den i sig inte är publikt läsbar?
Men, hur rekommenderar ni att man hanterar användning an apiet, då det kommer vara en app så handlar det ju inte om en statisk plats, utan en unik plats för varje användare. ResRobot - Stolptidtabeller 2 är tänkt att användas och där önskas då realtids uppdateringar spå förseningar kunna visas för användare. Dessa är ju svåra att lagra lokalt i appen och medför enmängd anrop. Vilken relativt enkelt då med få användare överstiger de begränsningar av anrop som görs.
Har ni någon rekommendation på tillvägagångssätt för detta, då det kan leda till en icke fungerande tjänst?
mvh
Henrik
Följ inlägget
0
följare
Det är fortfarande möjligt att få ut en hårdkodad nyckel ur en applikation, men det är inget som vi skulle dra tillbaka din nyckel för. Det finns en liknande fråga (med svar) angående det här: https://support.trafiklab.se/org/trafiklabse/d/spridning-av-api-nycklar/
// Kevin
vad är uppdaterings frekvensen på det? Realtids förseningar
kan man hämta / skapa en unik nyckel per användare? Via api eller liknande?
2. Nej, inte via API, det är inte meningen att varje konsument av en applikation ska ha sin egen nyckel, då hade vi inte haft nycklar överhuvudtaget. Nycklarna finns till för hålla ned kostnaderna för att drifta och förvalta de servrar och program som gör Trafiklab möjligt, om inte kostnaden hade varit en faktor för oss så hade all data varit helt öppet.
// Kevin
I detta projekt är tanken att en användare skall kunna välja en eller flera stolpar och sedan kunna se de nästkommande avgångarna på den platsen. Detta medför då att det kan bli oändligt många olika platser.
Är detta ett scenario APIerna är tänkta att fungera med?
//Henrik
Det finns 2 sätt hur man kan göra med API nycklar:
- Du bygger en app, en webbsida, ... : det finns 1 API nyckel, delad av alla användare. Nyckeln blir uppgraderad vid behöv. En exempel är applikationer som Res i Sthlm.
- Du bygger någonting där en användare (utvecklare) ska köra koden själv (script, webbsida som varje användare hostar själv, öppna-källkod projekt, ...). I detta fall kan varje användare gå in i Trafiklab för att hämta en nyckel. En exempel av detta är Magic-mirror moduler.
Vissa projekt kan funka på båda sätt. Till exempel informationsskyltar kan använda samma nyckel eller de kan ha en nyckel per "ägare" som installerar en skylt. I detta fall väljer utvecklaren själv hur de gör.
I ditt fall ser det ut som att det är enklast att varje användare ska hämta sin egen nyckel och att de konfigurerar den någonstans.
Angående realtidsuppdateringar rekommenderar jag att du inte uppdaterar mer än 1 gång per minut. Om din applikation ska uppdatera i bakgrunden är bästa lösningen att du ändrar uppdateringsfrekvensen dynamiskt, till exempel 1 gång varje 5e minut kl.21-06, en gång varje 3e minut kl.10-16, och varje minut när det är rusningstrafik. Om applikationen bara uppdateras när användaren aktivt använder den (till exempel en vanlig app eller webbsida) kan du uppdatera en gång varje 30 sekunder. Datat själv uppdateras inte mer än 4 gånger per minut, men hur ofta den uppdateras beror på operatörn, om det finns förseningar, ... . Så det kan vara en gång varje 5e minut, eller varje 15 sekunder, men aldrig mer än varje 15e sekund. En app borde inte göra en refresh varje 15 sekunder (det blir för många anrop, och förbättrar upplevelsen inte så mycket), men en proxy-server kan ha en 15 sekunder TTL på cacha data som används till flera klienter.
Hälsningar,
Bert