Token genereren voor de Profit Rest Services
Bij een app connector vindt authenticatie plaats op basis van tokens, niet op basis van gebruikersnamen en wachtwoorden. Een token is een sleutel die geldt voor een combinatie van omgeving/app connector/gebruiker/device.
Als een gebruiker een externe app in gebruik neemt, vraagt hij eerst een token aan via de externe app. Je moet hiervoor zelf een geautomatiseerd proces opzetten. Het is wel mogelijk om op ad-hoc basis handmatig tokens toe te voegen bij een app connector. Als een bepaalde token niet meer gebruikt mag worden, verwijder je deze.
Let op:
De rest van deze beschrijving heeft betrekking op het aanvragen van een token via een geautomatiseerd proces.
Een gebruiker vraagt een token aan via een externe applicatie. Deze applicatie roept de Profit REST Services aan. Bij een geslaagde aanvraag krijgt de gebruiker een e-mailbericht met een activatiecode. Door het toepassen van de activatiecode krijgt de gebruiker een token. Deze token moet voortaan met elke aanroep worden meegestuurd.
Je kunt dit proces alleen gebruiken als bij de gebruiker een geldig e-mailadres ingevuld is in Algemeen / Beheer / Autorisatie tool. De gebruiker moet lid zijn van de gebruikersgroep die gekoppeld is in de eigenschappen van de app connector, tabblad Algemeen.
Voorbereidingen
- Voor het kunnen ontvangen van een token moet de e-mailserver ingesteld zijn in eigenschappen van de omgeving.
- In de eigenschappen van de gebruiker moet een e-mailadres zijn vastgelegd. Dit geldt ook als je een systeemgebruiker inzet.
Sleutels opvragen in Profit
- Ga naar: Algemeen / Beheer / App connector.
- Open de eigenschappen van de app connector.
- Je hebt de velden API-sleutel en Omgevingssleutel nodig.
Geautomatiseerd een token aanvragen en registeren in Profit
- Roep de Profit REST Service aan via de volgende URL.
<endpoint>/profitrestservices/otprequest
Let op:
Je vindt alle endpoints voor connectoren op de centrale pagina URL's van REST Services.
De onderstaande afbeelding is gemaakt op basis van AFAS Connect.
- Bij een geslaagde aanroep bevat de response een one-time password (OTP)
- Roep de Profit REST service aan via de volgende URL. Gebruik hierbij het one-time password.
<endpoint>/profitrestservices/otpvalidation
Bij een geslaagde aanroep bevat de response een token.
Voorbeeldcode OTP-request
var otprequest = {
apiKey: ‘AF2F…’,
userid: ‘314565.DavidB’,
apiToken: ‘820DBB..’
};
$http.post("https://<endpoint>/otprequest", otprequest).then(function () {
alert("Check your e-mail for OTP pasword");
});
OTP-requests gebruiken:
Het gebruik van One Time Password (OTP) gaat via 2 requests. Met de eerste request wordt de code aangevraagd die naar het emailadres van de gebruiker wordt gestuurd. Met deze code kun je een validation request doen. Alleen als je hier een response body met token krijgt weet je dat de OTP request geslaagd is.
Stap 1: OTP Request
Request URL: Fout! De hyperlinkverwijzing is ongeldig.
Method: Post
Request body:
{
"apiKey": "{{API_key}}",
"userid": "{{Profit_username}}",
"apiToken": "{{Environment_key}}"
}
Response: http 201
Stap 2: OTP Validation
Request URL: Fout! De hyperlinkverwijzing is ongeldig.
Method: Post
Request body:
{
"apiKey": "{{API_key}}",
"userid": "{{Profit_username}}",
"apiToken": "{{Environment_key}}",
"otp": "34264813"
}
Response: http 201
Body:
{
"token": "<token><version>1</version><data>979D703A5D92417998F36ECE577E10CD2822304B4E6
87A46AAB4598889FA5804</data></token>\r\n"
}
Response: http 204
Body: geen
Response: http 201
Body: geen