Authenticatie met OpenID Offline token

Wanneer een geautomatiseerd proces verbinding maakt met de API is het vaak ongewenst om een gebruikersnaam en wachtwoord in dit proces op te slaan. Het is dan aan te raden om met het gebruikersaccount eenmalig een offline token aan te maken welke enkel door dit proces wordt gebruikt.

Met het eenmalig gegenereerde offline token moet altijd wel eerst worden ingelogd, voordat verdere informatie van de API kan worden verkregen. Een offline token is oneindig geldig; wel moet deze tenminste eens per 30 dagen worden gebruikt.

Offline token genereren

Om een offline token te genereren moet de gebruiker het volgende doen:

De gebruiker moet een HTTP POST uitvoeren:

POST /auth/realms/Ymonitor-production/protocol/openid-connect/token HTTP/1.1 Host: www.ymonitor.nl Content-Type: application/x-www-form-urlencoded grant_type=password&client_id=ymonitor-frontend&username=user&password=pass&scope=offline_access

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:

{"access_token": "response_access_token","expires_in": 300,"refresh_expires_in": 0,"refresh_token": "response_refresh_token","token_type": "bearer","not-before-policy": 0,"session_state": "response_session_state""scope": "offline_access"}

Het response_refresh_token is het gegenereerde offline token.

Access token genereren

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

De gebruiker moet een HTTP POST uitvoeren:

POST /auth/realms/Ymonitor-production/protocol/openid-connect/token HTTP/1.1 Host: www.ymonitor.nl Content-Type: application/x-www-form-urlencoded grant_type=refresh_token&client_id=ymonitor-frontend&refresh_token=response_refresh_token

Indien het response_refresh_token geldig is, wordt er als antwoord de volgende structuur teruggegeven:

Deze strucuur bevat het authenticatieToken - "access_token" - dat in alle volgende requests meegestuurd moet worden als de waarde van de HTTP header

Als voorbeeld, om de ketens op te vragen moet er een HTTP GET request uitgevoerd worden:

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