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 aan de app connector.

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

  1. Ga naar: Algemeen / Beheer / App connector.
  2. Open de eigenschappen van de app connector.
  3. Je hebt de velden API-sleutel en Omgevingssleutel nodig.

Geautomatiseerd een token aanvragen en registeren in Profit

  1. 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.

  2. Bij een geslaagde aanroep bevat de response een one-time password (OTP)
  3. 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

Direct naar

  1. Profit Rest Services (JSON)
  2. Overzicht REST API voor ontwikkelaars
  3. Connector aanroepen via Profit Rest Service
  4. App connector toevoegen voor Profit Rest Service
  5. Token genereren voor de Profit Rest Service
  6. XML omzetten naar JSON
  7. GetConnector aanroepen
  8. UpdateConnector aanroepen
  9. ReportConnector aanroepen
  10. SubjectConnector aanroepen
  11. FileConnector aanroepen
  12. ImageConnector aanroepen
  13. ProfitVersionConnector aanroepen