Hente sikkerhetstoken
Generelt
Man trenger et sikkerhetstoken for å bruke tjenestene fra Geodata Online. ArcGIS-klienter henter stort sett ut sikkerhetstoken automatisk basert på brukernavn og passord man oppgir. Har man behov for å lage et token, kan dette gjøres manuelt eller programmatisk.
Trenger man et token som varer i lenger enn 60 minutter, må man angi en såkalt referer. Denne er knyttet til "klienten" som kaller tjenesten, og kan enten være en IP-adresse eller en webadresse (http-referer).
For å unngå misbruk av sikkerhetstokenet, må det lages med kortest mulig varighet (expiration). I tillegg må man bruke en mest mulig detaljert "referer".
Det lønner seg å ha én eller annen form for caching av tokenet, slik at man slipper å be om token før hvert eneste kall. Man kan f.eks. be om token med 60 minutter varighet, og ha caching-logikk som henter nytt token med samme intervall.
Manuelt
Hvis man har behov for å lage et token manuelt, gjør man det på denne siden.
Deretter må man fylle ut en del verdier.
| Verdi | Forklaring |
|---|---|
| Username | Ditt Geodata Online-brukernavn. |
| Password | Ditt Geodata Online-passord. |
| Client | Hva slags informasjon man vil bruke for å angi referer. Mulige valg er "HTTP Referer" (typisk webklienter), "IP" (man angir IP-adresse selv) eller "Request IP" (systemet finner IP-adressen det kalles fra når token lages). |
| HTTP referer | Hvis man har valgt Client lik "HTTP Referer", oppgir man den her. Skal både http- og https-protokoller støttes, kan man skrive f.eks. "//webadressen-til-min-løsning/". |
| IP | Hvis man har valgt Client lik "IP", oppgir man den her. |
| Expiration | Hvor mange minutter tokenet skal være gyldig, maksimalt ett år (525600 minutter). Angir man ikke referer, blir gyldighet maksimalt 60 minutter. |
| Format | Om man vil ha responsen i HTML eller JSON. |
Programmatisk
For å lage et token programmatisk, gjør man et HTTP POST-kall til adressen under, med parametere beskrevet i tabellene.
https://services.geodataonline.no/arcgis/tokens/generateToken/
Det er mulig å bruke HTTP GET-kall for å lage token, men er ikke anbefalt. Det kan føre til at brukernavn og passord blir logget, lagret i nettverkskomponenter etc.
Kall for å lage token må skje "backend"/maskin-til-maskin, og ikke fra klienten (som ville ha krevd brukernavn og passord i klartekst).
Alle parametere må URL encodes. URL encoding er spesielt viktig fordi Geodata Online-passord må inneholde spesialtegn. Er ditt passord f.eks. sdWEgŤ#, må dette angis som sdWEg%C3%85%C2%A4%23.
Følgende parametere kan angis, og er i all hovedsak beskrevet over:
| Verdi | Forklaring |
|---|---|
| username | Se forklaring over, må angis. |
| password | Se forklaring over, må angis. |
| client | Mulige verdier er "ip", "referer" og "requestip". Må angis hvis man skal ha token som varer lenger enn 60 minutter. |
| ip | Må angis hvis man har valgt "client=ip". |
| referer | Må angis hvis man har valgt "client=referer". |
| expiration | Se forklaring over. |
| f | Format på responsen, kun mulig å angi "json". Hvis denne parameteren utelates, er responsen kun en tekststreng (tokenet). |
Mer dokumentasjon
Noe mer utfyllende dokumentasjon på engelsk finnes her.