Vid utveckling av API:er följer vi ett antal riktlinjer, dessa är stryrande i utvecklingen och syftar till att skapa följsamhet mot vår API Strategi.
Autentisering sker genom API Key eller OAuth2 beroende på säkerhetsklassning, för mer information om OAuth2, se https://oauth.net/2/ Länk till annan webbplats..
API Gateway kommer att hantera autentisering på två sätt:
Nedan följer en kort summering av den logik som klienter till Sundsvalls kommuns APIer behöver implementera för att kunna anropa APIer med statiska accessnycklar:
Consumer Key:dummyAUHGGJ2244
Consumer Secret: dummyD6jjd9887
Base64 encoded Consumer Key: Consumer Secret =
NmQxTmNLaVRJU2JWRW00ascXT3lJTmE5X2RrYTo5R1JkMURnQ0lDc1l1SHJnTUJYZGJqUHlkZ1Fh
Accessnyckeln skall skickas med i header i anropet till APIet.
curl -X GET –header ”Accept: application/json” –header ”apikey: 54f3013afe55022d75e711ec2b3a6ae6” https://api-manager-url/helloWorld/1.0.0/?
{ ”answer”: ”Hello World”}
Nedan följer en kort summering av den logik som klienter till Sundsvalls kommuns APIer behöver implementera för att kunna anropa APIer med tidsbegränsade accessnycklar:
Consumer Key:dummyAUHGGJ2244
Consumer Secret: dummyD6jjd9887
Base64 encoded Consumer Key: Consumer Secret =
NmQxTmNLaVRJU2JWRW00ascXT3lJTmE5X2RrYTo5R1JkMURnQ0lDc1l1SHJnTUJYZGJqUHlkZ1Fh
Steg ett är att hämta accessnykeln via token-APIet.
curl -k -d ”grant_type=client_credentials” -H ”Authorization: Basic
NmQxTmNLaVRJU2JWRW00ascXT3lJTmE5X2RrYTo5R1JkMURnQ0lDc1l1SHJnTUJYZGJqUHlkZ1Fh ” https://api-manager-url/token
{”access_token”:”54f3013afe55022d75e711ec2b3a6ae6″,”scope”:”am_application_scope default”,”token_type”:”Bearer”,”expires_in”:9223372036854775}
Accessnyckeln som hämtades i steg ett skall skickas med i header i anropet till APIet.
curl -X GET –header ”Accept: application/json” –header ”Authorization: Bearer 54f3013afe55022d75e711ec2b3a6ae6” https://api-manager-url/helloWorld/1.0.0/?
{ ”answer”: ”Hello World”}
En accessnyckel har en konfigurerar giltighetstid. När giltighetstiden har gått ut returnerar API Gateway http 401 not authorized. Klienten skall då hämta en ny accessnyckel i enlighet med beskrivningen under ”Hämta accessnyckel” ovan.
curl -X GET –header ”Accept: application/json” –header ”Authorization: Bearer 54f3013afe55022d75e711ec2b3a6ae6” https://api-manager-url/helloWorld/1.0.0/?
http 401
Access failure for API: /helloWorld/1.0.0, version: 1.0.0. Make sure your have given the correct access token