Voor Dynamics 365 Business Central Online-omgevingen is de basisauthenticatie (Web Service Access Key) verouderd en moeten gebruikers OAuth gebruiken. In dit artikel leggen we stap voor stap uit hoe je OAuth instelt voor Dynamics 365 Business Central Online door middel van twee grote procesonderdelen.
De secties zijn:
- Inschakelen en configureren van OAuth 2.0 voor Business Central op Azure Portal
- Postman gebruiken om het OAuth 2.0 Token voor Business Central Web Services te genereren en te testen
- (Optioneel) Registreer de Azure Active Directory in Business Central
OAuth 2.0 inschakelen en configureren voor BC op Azure Portal
- Log in op de Azure Portal met dezelfde Business Central ID. Klik in Azure Portal op 'Show Portal Menu' en 'All Services'.
- Zoek (of zoek op “app registration”) en klik op “App registraties”.
- Klik op “Nieuwe registratie” in de pagina App-registraties.
- Voer de naam van de applicatie in. Kies wie deze app kan gebruiken of toegang heeft tot de API. We moeten single tenant selecteren. Kies Web voor Redirect URL en voeg de URL van Business Central toe.
(https://businesscentral.dynamics.com/). Registreer de app. - Vervolgens moeten we de API-toestemming toekennen. Klik op “API-toestemming” in het menu en klik vervolgens op “+ Toestemming toevoegen”.
- Nadat je op “+ Een toestemming toevoegen” hebt geklikt, verschijnen de beschikbare API-rechten. Als je Business Central niet kunt zien, komt dat omdat de gebruiker geen geldige licentie heeft.
- Hier moeten we klikken op “Gedelegeerde machtigingen” en “user_impersonation” en “Financials.ReadWrite.All” toevoegen.
- Klik vervolgens op “Toepassingsmachtigingen” en vink “app_access”, “API.ReadWrite.All” en “Automation.ReadWrite.All” aan.
- Na het toevoegen van machtigingen gaan we terug naar de pagina met API-machtigingen. We klikken op “Toestemming admin verlenen voor Contoso”.
- Klik op “Yes” (Ja) om admin toestemming te geven. Vervolgens worden alle machtigingen weergegeven met “Toegestaan voor Contoso”.
- Vervolgens voegen we een nieuw clientgeheim toe. Klik op “Certificate & secret” in het menu en klik op “New client secret”.De volgende drie stappen zijn belangrijk omdat ze de nieuwe sleutel maken om de authenticatie door te geven. De aangemaakte sleutel wordt later gebruikt in het proces dat in dit artikel wordt beschreven om de OAuth door te geven, wat de nieuwe manier van authenticeren is.
- Voer de beschrijving van het cliëntgeheim in en geef aan wanneer het verloopt. Selecteer de maximale vervaldatum van 24 maanden. De knop “toevoegen” is te vinden aan het einde van de pagina.
- Na het toevoegen gaan we terug naar de “Certificates & secrets” pagina. Kopieer en bewaar de waarde van het client geheim zoals in de schermafbeelding. We hebben het nodig voor het genereren van tokens door Postman.
- Ga terug naar het overzichtsgedeelte. Op dit moment is het belangrijk om de Application (client) ID te kopiëren en op te slaan. Deze hebben we ook nodig voor het genereren van token door Postman.
(Optioneel) Registreer de Azure Active Directory in Dynamics 365 Business Central
Als Dynamics 365 Business Central een integratie heeft met een 3rd party systeem dat Service-to-Service (S2S) authenticatie gebruikt en de S2S authenticatie heeft de Client Credentials OAuth 2.0 nodig. Het vereist dat gebruikers de Azure Active Directory (AAD) applicaties registreren in Business Central en deze sectie zal uitleggen hoe dat te doen. Zie voor meer informatie over S2S-authenticatie het artikel Service-to-Service (S2S) Authenticatie van Microsoft.
- Log in op Azure Portal, ga naar de OAuth App registratie die we eerder hebben gemaakt. Klik op Authenticatie.
- Voeg in de Authenticatie pagina een Web Redirect URI https://businesscentral.dynamics.com/OAuthLanding.htm toe.
- Zoek in Business Central naar “AAD”. Ga naar “Azure Active Directory Applications” en voeg een nieuwe applicatie toe.
- Kopieer de Application (client) ID van Azure portal naar het Client ID-veld in Business Central. Nadat de beschrijving is ingevoerd, voegt het systeem automatisch de gebruikers-ID en gebruikersnaam toe.
- Voeg de gebruikersgroepen “D365 ADMINISTRATOR” & “D365 BUS FULL ACCESS” toe.
- Klik op “Toestemming verlenen” en voer de gebruikersnaam en het wachtwoord van Office 365 in om de gevraagde toestemming te accepteren.
Bron: https://www.encorebusiness.com/blog/how-to-enable-oauth-for-dynamics-365-business-central/