Eigen app connector toevoegen

Je maakt een app connector aan waarmee een externe toepassing gegevens kan uitwisselen met Profit. Gebruik voor elke externe toepassing een aparte app connector.

Bij deze handmatige procedure heb je al een gebruikersgroep en een connector-gebruiker. Heb je die nog niet? Dan vink je Automatisch token genereren aan bij het aanmaken van de app connector en gebruikersgroep, gebruiker en token worden direct voor je aangemaakt. Dit is meestal de handigste werkwijze, zie deze beschrijving.

In dit artikel is gave nieuwe functionaliteit verwerkt die beschikbaar is vanaf Profit 8.

Er zijn twee nieuwe onderdelen, namelijk de ondersteuning van IPv6 en mTLS.

Je kunt IP-restricties op IPv6-adressen vastleggen. Je kunt IPv6 nog niet gebruiken in combinatie in Profit, dit wordt vrijgegeven op een specifieke datum.

Je legt IP-ranges overal vast op basis van de CIDR-notatie.T/m Profit 7 legde je een IP-range vast met een netwerkadres en subnetmask. Bestaande IP-ranges blijven bestaan, hier hoef je niets aan te wijzigen. Vanaf Profit 8 gebruik je bij een nieuwe IP-range altijd de CIDR-notatie. Profit herkent automatisch of je een IP-adres vastlegt, of een IP-range.

Bij de aanroep van connectoren kun je een mTLS-certificaat gebruiken. Bij mTLS werkt de beveiliging in twee richtingen: De server bewijst zijn identiteit en de client bewijst zijn identiteit tijdens de TLS-handshake. Na een geslaagde TLS-handshake wordt de call uitgevoerd en vindt authenticatie van de app connector plaats op basis van een token.

Inhoud

App connector toevoegen

  1. Ga naar: Algemeen / Beheer / App connector.
  2. Klik op: Nieuw.
  3. Vul de omschrijving in.

    Gebruik de omschrijving die bij externe gebruikers van de app bekend is. Als een gebruiker een token aanvraagt, krijgt hij namelijk een e-mailbericht met een OTP (one time password). In het onderwerp van het e-mailbericht wordt ook de omschrijving van de app connector gebruikt.

    Let op:

    Bij deze werkwijze vink je het veld Automatisch token genereren niet aan.

  4. Selecteer een gebruikersgroep bij Gebruikersgroep.
  5. Klik op: Volgende.

    Koppel de gewenste GetConnectoren aan de app connector. Met een GetConnector kan een externe applicatie gegevens ophalen uit Profit. Alleen de gekoppelde GetConnectoren kunnen in combinatie met deze app connector worden aangeroepen door een externe applicatie.

    Het koppelen kan op twee manieren:

    • Handmatig. Klik op Nieuw. Vink de gewenste GetConnectoren aan en klik op Voltooien om deze te koppelen.
    • Via een import. Klik op Acties / Importeren en importeer de GetConnectoren, bijvoorbeeld GetConnectoren die je eerder van een partner gekregen hebt.

Koppel de gewenste UpdateConnectoren aan de app connector. Met een UpdateConnector kan een externe applicatie gegevens aanmaken, wijzigen of verwijderen in Profit. Alleen de gekoppelde UpdateConnectoren kunnen in combinatie met deze app connector worden aangeroepen door een externe applicatie.

  1. Klik op: Volgende.

    Koppel de gewenste UpdateConnectoren aan de app connector. Met een UpdateConnector kan een externe applicatie gegevens aanmaken, wijzigen of verwijderen in Profit. Alleen de gekoppelde UpdateConnectoren kunnen in combinatie met deze app connector worden aangeroepen door een externe applicatie.

  2. Klik op: Voltooien.

    De eigenschappen van de app connector worden geopend.

    Vul eventueel de geldigheidsduur van de tokens in, in uu:mm.

    • Deze geldigheidsduur geldt voor nieuwe tokens. Als je de geldigheidsduur weer verwijdert, dan blijft deze gelden voor reeds verstrekte tokens met een geldigheidsduur.
    • Een token met een geldigheidsduur zal worden verwijderd na het verlopen van de geldigheidsduur. Indien nodig moet je daarna een nieuwe token uitdelen of deze moet opnieuw worden aangevraagd.
    • Als je de geldigheidsduur niet invult, blijven de tokens altijd geldig.
  3. Je kunt eventueel nog GetConnectoren en UpdateConnectoren toevoegen.
  4. Ga naar het tabblad: Connectoren.

    Op dit tabblad kun je speciale connectoren toevoegen. De meestgebruikte is AppConnectorSubject, deze is nodig voor het openen van bijlagen bij dossieritems.

  5. Klik op: Opslaan en sluiten.

IP-restrictie toevoegen

Voor je eigen app connectoren kun je een IP-restrictie instellen. Dit houdt in dat de app connector alleen via een bepaald IP-adres of een IP-reeks gebruikt kan worden. Het omgekeerde is ook mogelijk, het uitsluiten van een IP-adres/reeks.

Het combineren van het toestaan en weigeren van IP-adressen of reeksen is niet zinvol. Je moet een keuze maken voor het toestaan óf het weigeren van IP-adressen of reeksen. Het uitgangspunt is het IP-adres of de reeks die voor het dataverkeer gebruikt wordt. Het IP-adres kan bijvoorbeeld ook verwijzen naar een 'dedicated' server of een firewall.

  1. Open de eigenschappen van de app connector.
  2. Ga naar het tabblad: IP-restricties.
  3. Voeg voor elke restrictie (IP-adres of IP-reeks) een aparte regel toe.
  4. Bepaal in de restrictie of toegang is toegestaan of moet worden geweigerd.
    • Bij een specifiek IP-adres vul je het IP-adres in.
    • Bij een reeks vul je de reeks en het subnet-masker in.
  5. Vul het IP-adres of de reeks in. Maak hierbij eventueel gebruik van de tool https://www.subnet-calculator.com/cidr.php.

    Let op:

    De IP-adressen van AFAS Connect zijn 52.174.142.76 en 52.174.142.140. Sta deze toe in de eigenschappen van de app connector.

    Let op:

    Alleen IPv4-adressen worden ondersteund. Voeg geen IPv6-adres toe, want dan worden ALLE aanroepen afgekeurd met een 401 Unauthorized-foutmelding.

  6. Klik op: Voltooien.

mTLS-certificaat toevoegen

In dit artikel is gave nieuwe functionaliteit verwerkt die beschikbaar is vanaf Profit 8.

Bij de aanroep van connectoren kun je een mTLS-certificaat gebruiken. mTLS (mutual TLS) is een uitbreiding op TLS:

  • Bij TLS bewijst de server zijn identiteit. Authenticatie van de app connector gebeurt later op basis van een token.
  • Bij mTLS werkt de beveiliging in twee richtingen: De server bewijst zijn identiteit en de client bewijst zijn identiteit tijdens de TLS-handshake. Na een geslaagde TLS-handshake wordt de call uitgevoerd en vindt authenticatie van de app connector plaats op basis van een token.

    Om dit te bereiken leg je het mTLS certificaat vast in de eigenschappen van de app connector in de Profit-omgeving.

Voor het gebruik van mTLS in Profit is minimaal TLS 1.2 vereist. Zie verder Endpoints van Profit-connectoren.

mTLS certificaat toevoegen aan een app connector:

Let op:

Vanaf het moment dat je een certificaat koppelt in de app connector, zal Profit hierop controleren bij de call van de app connector. De call moet het juiste certificaat bevatten en dit certificaat moet geldig zijn. Profit kijkt of het juiste certificaat wordt aangeleverd door te matchen op thumbprint, andere gegevens worden niet gebruikt. Als aan de hier beschreven voorwaarden niet wordt voldaan, dan wordt de call afgebroken.

Als je geen certificaat wilt toepassen bij een app connector, dan mag er geen enkel certificaat op het tabblad Client-certificaten. staan.

  1. Ga naar: Algemeen / Beheer / App connector.
  2. Ga naar het tabblad: Client-certificaten.
  3. Maak een nieuw client-certificaat aan.

    Profit ondersteunt de volgende formaten: .cer, .crt., .pem, .P12 .pfx en .zip.

    Let op:

    Een certificaat kan een private key bevatten, deze wordt niet opgeslagen.

  4. Je ziet in de weergave tot wanneer het certificaat geldig is. Zorg ervoor, dat je tijdig een nieuw certificaat verkrijgt en koppelt in de app connector. Je kunt hiervoor een signaal inrichten, gebaseerd op de gegevensverzameling Certificaat gegevens. Hierdoor krijg je tijdig een signaal als een certificaat dreigt te verlopen.

Voorbeeld van een call met een certificaat met een wachtwoord:

$token = '<token><version>1</version><data>0E6824699F40129E254DB96441233E32F13454355184E5A24F8E3C0DFA4F</data></token>'

$encodedToken = [System.Convert]::ToBase64String([System.Text.Encoding]::ASCII.GetBytes($token))

$authValue = "AfasToken $encodedToken"

$Headers = @{

Authorization = $authValue

}

$url = 'https://......./Profitrestservices/connectors/Profit_Article'

$file = '\\yourserver\volume\folder\Getconnector.json'

$certificatePath = 'C:\certificates\profit-cert.pfx'

$certificatePassword = ConvertTo-SecureString 'pfx-wachtwoord' -AsPlainText -Force

$certificate = New-Object System.Security.Cryptography.X509Certificates.X509Certificate2(

$certificatePath,

$certificatePassword

)

Invoke-WebRequest -Uri $url -OutFile $file -Headers $Headers -Certificate $certificate

Voorbeeld van een call met een certificaat zonder een wachtwoord:

$token = '<token><version>1</version><data>0E6824699F40129E254DB96441233E32F13454355184E5A24F8E3C0DFA4F</data></token>'

$encodedToken = [System.Convert]::ToBase64String([System.Text.Encoding]::ASCII.GetBytes($token))

$authValue = "AfasToken $encodedToken"

$Headers = @{

Authorization = $authValue

}

$url = 'https://......./Profitrestservices/connectors/Profit_Article'

$file = '\\yourserver\volume\folder\Getconnector.json'

$certificatePath = 'C:\certificates\profit-cert.pfx'

$certificate = New-Object System.Security.Cryptography.X509Certificates.X509Certificate2($certificatePath)

Invoke-WebRequest -Uri $url -OutFile $file -Headers $Headers -Certificate $certificate

Direct naar

  1. App connector
  2. Security bij Connectoren
  3. Eigen app connector inrichten in vogelvlucht
  4. Meer informatie over de app connector (o.a. IP-restricties)
  5. Handmatig token toevoegen aan eigen app connector
  6. Uitreiken/intrekken van tokens automatiseren via OTP
  7. Eigen App connector beheren
  8. App connector Auditor