US based hosting company required to have an application which can be a part of Azure App Services. Some of the features of the application are mentioned below. This application was implemented on .Net core platform using Blazor WebAssembly framework.
Blazor WebAssembly framework its dependencies, and the .NET runtime are downloaded to the browser, and the app is executed directly on the browser UI thread. All UI updates and event handling happen within the same process.
Azure AD, M365 Licenses & ConnectWise integration
Based on the Domain, user is to be able to login to Azure App. This helps App specific Super Admin, Client Admin, Client Manager, and a user to utilize the resources at single place.
App lists the users from Azure AD and Local AD, Manger and Admin, application shows the options for operations like Add user, disable user, manage license. It also provides interface of setting up the DUO Multi-factor auth option for users. It also has interface of listing the remote applications from Active Directory server.
Only Azure AD can log into the App for operations based on the roles. Graph APIs are implemented to authenticate and authorize the app access. App uses Microsoft 365 identity service for authentication and authorization. The resource access has been granted based on the access permission granted to Graph API by the Global Admin from Azure where the App has been hosted. There are 3 roles/groups defined in Azure, Admin, Manager and a User.
App has interface for providing basic operations of the tech-support ticketing system “ConnectWise” using latest SDK.
All the Licenses specific functionality has been implemented using PowerShell scripts.
Below are the main activities.
Some of the functions from Local AD and Azure AD can be managed using this App. App allows user to perform following actions.
Creating and disabling the mailbox has been done using PowerShell scripts and APIs. The API internally triggers the PowerShell scripts. Based on the result of PowerShell script, App shows the status accordingly as shown in the below screenshot
There are limitations on creating and disabling the mailboxes using Graph APIs. This has been achieved using the combination of PowerShell script and custom APIs. The custom APIs have been used performing the required operations which internally triggers the PowerShell scripts.
Basic featured includes –
Application uses the RD Web Feed details based on the API deployed on the Server. API provides the data in JSON format to load the Windows application related information.
The API is deployed on the dedicated server from where the RDWeb feed information is fetched & used to show the user specific applications on the Web tool as shown in the above image.