Run WebModel in Azure Web App – WITH authentication
Applies to: viflow (subscription | 9 | 8 | 7) | Article: 3387688 | Updated on 11.07.2025
The APP service plan should meet these requirements
Requirement | Significance for plan selection |
.NET 8 (LTS) | Only plans with Windows and code deployment |
64-bit platform | Must be configurable |
FTPS/SCM upload | Must be activated and usable |
Auth via ENTRA ID | ID tokens and client secret support required |
File upload/WebModel data | No storage or upload size restrictions |
Step 1 – CREATE AZURE WEB APP
- In the Azure portal, select App Services – Create – Web App.
- Choose your subscription and the appropriate resource group.
- Give the web app a name.
- Under Publish, select Code.
- Runtime stack is .NET 8 (LTS) ( viflow subscription and viflow 9 ) as of June 12, 2025.
- Operating system is Windows.
- Region choose the one that suits you best (Germany is Germany West Central)
- Create the web app via Review + Create.
- Now open the web app via Home – Web app name.
- Open the configuration.
- Under Platform, select 64 Bit.
- To enable upload with an FTP tool (WinSCP, FileZilla, etc.).
- Enable credentials for SCM basic authentication publishing
- Activate FTP Basic Authentication Publishing Credentials
Step 2 – CREATE REGISTRATION FOR ENTRAID
- Click Microsoft Entra ID.
- Select App Registrations – New Registration.
- Give it a name.
- Under Supported account types, select Only accounts in this organizational directory (- single tenant).
- Under Redirect URI, select the type Weband enter the following paths:
- https://name_der_azurewebsite/.auth/login/aad/callback
- https://name_of_azurewebsite/signin-oidc
- Complete the setup by clicking Register.
- Now open Microsoft Entra ID – App Registrations – Name of the created app.
- Click Authentication.
- Enable ID tokens.
- Click Certificates & Secrets.
- Create a new client secret and note the value (used in Steps 3 and 4 needed).
- Select Token Configuration – + Add Optional Claim.
- Token type: ID > add onprem_sid.
- Select API Permissions and give the Microsoft Graph the following application permissions (administrator approval is required):
- User.Read (already stored by default)
- Directory.Read.All
- Group.Read.All
- User.Read.All

Step 3 – ASSIGN APP REGISTRATION TO THE WEB APP
- Open your web app.
- Select Authentication.
- Add a new identity providerand configure it as follows:
- Identity provider: Microsoft.
- App registration type: Specify the details of an existing app registration.
- For Application ID (Client), enter the client ID of the app registration (Microsoft Entra ID – App Registrations – App Registration Name – Overview).
- For Client Secret, enter the value of the client secret that you noted previously (in step 2).
- Please leave all other settings as they are.
Step 4 – STORE APP REGISTRATION IN THE WEBMODEL (APPSETTINGS.JSON)
- Export a WebModel with authentication enabled.
- In the Azure portal, go to Microsoft Entra ID – App Registrations – App Name – Overview.
- After the successful WebModel export, go to the WebModel folder and open the appsettings.json file with an editor such as notepad++.
- Check if the value under SkipAuthentication is false.
- Edit the file as follows:
- Remove the entry for Domain.
- Remove the underscore before AzureAd.
- For TenantId, enter the directory ID of the app registration.
- For ClientId, enter the client ID of the app registration.
- For ClientSecret, enter the value of the secret client key (noted in step 2).
- Save the changes and close the file.
The appsettings.json file should then look like this:
Step 5 – UPLOAD THE WEBMODEL TO AZURE WEBAPP USING THE FTP TOOL (HERE: WINSCP)
- Open your Azure Web App overview in the Azure Portal.
- Navigate to Deployment – Deployment Center.
- Click the FTPS Login Information tab.
- Open the FTP tool of your choice and configure it as follows:
- Transfer protocol: FTP
- Encryption Explicits: TLS/SSL
- Server address: the FTPS endpoint from the portal
- Port number: 21
- Username: the FTPS username from the portal under Scope
- Password: the password from the portal under Application area
- Once the connection is established successfully, the entire contents of the WebModel folder must be uploaded.
Troubleshooting – What should I consider?
-
Save customized appsettings.json file
- To include the customized appsettings.jsonin the export and to prevent it from being overwritten, it must be stored in the following folder:
- Open the folder %USERPROFILE%\Documents\viflow
- Create the Customizations folder and open it
- Create the folder WebApp , open it and place the customized appsettings.json in it (the path to the appsettings.json should then look like this: %USERPROFILE%\Documents\viflow\Customizations\WebApp
- To include the customized appsettings.jsonin the export and to prevent it from being overwritten, it must be stored in the following folder:
-
Update the client secret
- The client secret you created in step 2 must be recreated after a certain period of time, and the value in appsettings.json must be updated. You assign this value in the Azure portal when you create a client secret.
- The client secret you created in step 2 must be recreated after a certain period of time, and the value in appsettings.json must be updated. You assign this value in the Azure portal when you create a client secret.
-
Value of the secret key not recorded
- If you have not written down the value of the secret client key, simply create a new client key.
- If you have not written down the value of the secret client key, simply create a new client key.
-
WebApp logs
- If our support requests the web server event log messages, you can find them in the Azure Portal at:Web app name – Diagnostics and troubleshooting – Diagnostic Tools – Application Event Logs.