Authenticatie met Hmac - DEPRECATED

Gebruik in plaats daarvan de https://userhappiness.atlassian.net/wiki/spaces/CM/pages/752156702


De Ymonitor API is beveiligd met een custom authenticatie mechanisme. De gebruiker dient zich eerst te authenticeren bij het systeem met zijn of haar Ymonitor account.

Om te authenticeren bij de Ymonitor API moet de gebruiker het volgende doen:

De gebruiker moet een HTTP POST uitvoeren op: https://api.ymonitor.nl/authenticate

De JSON structuur die de client dient te versturen naar de server ziet er als volgt uit:

{"username": "user","password": "s3cr3t"}

 

Als de gebruikersnaam en wachtwoord combinatie wordt goedgekeurd door de server en het account toegang heeft tot de Ymonitor API, wordt er als antwoord de volgende structuur teruggegeven:

{"token": "1234567890abcdef"}

Deze strucuur bevat het authenticatieToken dat in alle volgende requests meegestuurd moet worden als de waarde van de HTTP header authToken. Het gebruik van een token mechanisme voorkomt dat de gebruiker voor ieder request apart moet authenticeren.

Verder op deze pagina vind u code-voorbeelden met betrekking tot authenticeren bij de Ymonitor API.

Als het is gelukt om de authenticeren bij de Ymonitor API bent u in staat om data te gaan opvragen bij de Ymonitor API. Hoe dat moet leest u hier: https://userhappiness.atlassian.net/wiki/spaces/CM/pages/752156713

Java voorbeeld

Er wordt gebruik gemaakt van de RestTemplate van Spring: Deze klasse bevat een aantal methods die de REST standaard van communiceren implementeert en het eenvoudig maakt om met, in dit geval, de Ymonitor API te communiceren.

In de klasse AuthenticationExample.java is te zien hoe u zicht kunt authentiseren bij de Ymonitor API.

De 2 verschillende HttpMessageConverters zorgen ervoor dat de Content-Type header en Accept header op de goede waarde gezet worden, 'application/json' voor JSON.

 

package examples; public class LoginModel { private String username; private String password; public LoginModel() { } public String getUsername() { return username; } public void setUsername(String username) { this.username = username; } public String getPassword() { return password; } public void setPassword(String password) { this.password = password; } }

LoginModel.java bevat de data die meegestuurd wordt met de HTTP POST request. Dit wordt door het RestTemplate met behulp van de HttpMessageConverter omgezet in JSON.

 

Het object dat terugverwacht wordt van de API. Het bevat het verkregen authenticatietoken.

 

Objective C voorbeeld

Javascript

Wij hebben CORS niet enabled. Dit resulteert in een error omdat de server niet antwoord met de juiste Acces-Control-headers. Javascript kan alleen gebruikt worden in combinatie met Node.JS, wij willen u adviseren om een scripttaal zoals Perl, Bash of Php te gebruiken.

Waarom de server een error terug geeft kunt u in dit artikel lezen.