Configuring OAuth2.0 for Microsoft Dynamics (2016+)
If you're using an online Dynamics with an on premise server, you'll want to use Dynamics 365 OAuth2 authorization. This requires that you configure an App Registration in your Microsoft Entra ID.
| 1. | Go to your Azure Portal and select Microsoft Entra ID > App Registrations > New Registration |
| 2. | Enter a name, select Single tenant as the account type and enter the redirect URL. |
The redirect URL should be <project.baseurl>/oauth2/redirect where <project.baseurl> is the location Experlogix Smart Flows will be available as set in the application.properties in the Installation section.
For example: https://project.smartflows.xpertdoc.com/oauth2/redirect .
| 3. | Select register to create the application registration. |
| 4. | After the Application Registration has been created, select API permissions and select ‘Add a permission’ |
| 5. | Under the Microsoft API’s, select Dynamics CRM |
| 6. | Make sure that Access Common Data Service as organization users is checked and select Select |
| 7. | Select 'Add permission' to grant the permissions |
| 8. | Get the parameters we need in our Smart Flows configuration |
| 9. | Go back to the overview, find the Application ID and copy the value. |
This is your clientid.
| 10. | To get the clientsecret, select ‘Certificates & secrets’, and select on ‘New client secret’. |
| 11. | Give a description to the secret, set the expiration date and select 'Add'. |
| 12. | This will give you a value: the clientsecret. Copy this and store it as you will need it later on. |
| 13. | If your Dynamics CRM is not registered in the Microsoft Entra ID you created the application in, make sure to set multi-tenant to Yes in General Properties. |
| 14. | Configure the client Id and secret in the application.properties file of your smart flows installation: |
|
Key |
Value |
|---|---|
|
value of the client id |
dynamics.clientid |
|
value of the client secret |
dynamics.clientsecret |
Example:
# where users will be accessing Smart Flows
server.port=443
project.baseurl=https://xsfl-server:443
# SSL certificate details
server.ssl.key-store=..\yourpfxfile.pfx
server.ssl.key-store-password=yourpfxpassword
server.ssl.key-store-type=pkcs12
# where the database is
project.datasource.jdbc-url=jdbc:sqlserver://localhost;database=smartflows-prod
project.datasource.username=sa
project.datasource.password=secretsapassword
# Dynamics app registration
dynamics.clientid=c8ef4bdb-4e17-4b9e-a48b-a698629a383d
dynamics.clientsecret=qXY]V.PE/n2e2lu4Z_GCdHGq4i7/tofQ








