[NAV] Inloggen met Azure Active Directory

Op deze link vind je een handleiding hoe een app aan te maken en te gebruiken voor Dynamics NAV/Business Central. Echter klopt deze niet helemaal meer... Vooral het aanmaken van de app is anders geworden.

Om een app aan te maken doe je het volgende:
Login op https://portal.azure.com, en ga naar Azure Active Directory
Klik op App Registrations Klik op New Registration
Tik bij Name een duidelijke naam in.
Kies bij Supported Account Types voor "Accounts in this organizational directory only"
De Web Redirect URl moet ingevuld worden. Als er geen webclient is, maakt het echter niet uit wat er staat, en zelfs niet of het adres ook echt bestaat. Ik gebruik als adres "https://ditiseenwillekeurigadres.xyz/". Als er wel een webclient is, gebruik je uiteraard dat adres, gevolgd door Signin. Dat mag ook gewoon in intern adres zijn, dus https://localhost/<servicenaam>/Signin  is ook prima geldig.
Als Public Client Redirect URl gebruik je DynamicsNAV://<adres van de service>

Klik op Register. Je komt nu op een nieuw scherm met daarin een aantal guid's. 

Klik op "Expose an API".
De Application ID URl is nu nog leeg.
Klik op Set. Er wordt nu een Application ID URl getoond wat begint met API://  De guid is dezelfde ID als de Application (client) ID.
Verander de tekst in https://<tenantname>/guid. Je mag voor guid ook zelf een (unieke!) waarde gebruiken. Je kunt dan bijvoorbeeld de waarde https://bedrijfsnaam.onmicrosoft.com/0d3ab297-a6c1-492e-8179-b4ed5fe3643e gebruiken of https://bedrijfsnaam.onmicrosoft.com/ditiseentest. Deze waarde gaan we later gebruiken.

 

In je eigen (on prem) omgeving ga je naar de instellingen van de service. Het Credential type moet AccessControlService worden. Bij Azure Active Directory moeten twee instellingen worden aangepast

de WS-Federation Login Endpoint:
https://login.microsoftonline.com/bedrijfsnaam.onmicrosoft.com/FederationMetadata/2007-06/FederationMetadata.xml.

De WS-Federation Metadata Location:
https://login.microsoftonline.com/bedrijfsnaam.onmicrosoft.com/wsfed?wa=wsignin1.0%26wtrealm=https://bedrijfsnaam.onmicrosoft.com/ditiseentest%26wreply=https://ditiseenwillekeurigadres.xyz/. Eventueel mag het laatste stuk (dus vanaf %26reply) worden weggelaten.

De (eventuele) Webclient moet ook aangepast worden. In de inetpub\wwwroot\<webclient> directory vind je een navsettings.json bestand. In dit bestand moet het CleintServicesCredentialType op "AccessControlService" staan.

De RoleTailored Client moet ook aangepast worden. Dat doe je door de ClientUserSettings.config bestanden aan te passen

De key ClientServicesCredentialType moet de value "AccessControlService" krijgen
De key ACSUri moet dezelfde waarde krijgen als de WS-Federation Metadata Location van de service. Alleen is de %26wreply= gedeelte hier wel verplicht. 

Als je dit hebt ingesteld, zou het geen probleem moeten zijn om met je Azure Active Directory account aan te melden binnen Business Central - mits de gebruiker uiteraard is aangemaakt in Business Central...