Registering sample apps with the Microsoft identity platform and updating configuration files using PowerShell
-
Run the script to create your Azure AD application and configure the code of the sample application accordingly.
cd .\AppCreationScripts\ .\Configure.ps1 -TenantId "your test tenant's id" -AzureEnvironmentName "[Optional] - Azure environment, defaults to 'Global'"
This sample comes with two PowerShell scripts, which automate the creation of the Microsoft Entra applications, and the configuration of the code for this sample. Once you run them, you will only need to build the solution and you are good to test.
These scripts are:
-
Configure.ps1
which:- creates Microsoft Entra applications and their related objects (permissions, dependencies, secrets, app roles),
- changes the configuration files in the sample projects.
- creates a summary file named
createdApps.html
in the folder from which you ran the script, and containing, for each Azure AD application it created:- the identifier of the application
- the AppId of the application
- the url of its registration in the Microsoft Entra admin center.
-
Cleanup.ps1
which cleans-up the Azure AD objects created byConfigure.ps1
. Note that this script does not revert the changes done in the configuration files, though. You will need to undo the change from source control (from Visual Studio, or from the command line using, for instance,git reset
).
ℹ️ If the sample supports using certificates instead of client secrets, this folder will contain an additional set of scripts:
Configure-WithCertificates.ps1
andCleanup-WithCertificates.ps1
. You can use them in the same way to register app(s) that use certificates instead of client secrets.
The Configure.ps1
will stop if it tries to create an Azure AD application which already exists in the tenant. For this, if you are using the script to try/test the sample, or in DevOps scenarios, you might want to run Cleanup.ps1
just before Configure.ps1
. This is what is shown in the steps below.
- PowerShell 7 or later (see: installing PowerShell)
- Open PowerShell (On Windows, press
Windows-R
and typePowerShell
in the search window)
The scripts install the required PowerShell module (Microsoft.Graph.Applications) for the current user if needed. However, if you want to install if for all users on the machine, you can follow the following steps:
-
If you have never done it already, in the PowerShell window, install the Microsoft.Graph.Applications PowerShell modules. For this:
-
Open PowerShell
-
Type:
Install-Module Microsoft.Graph.Applications
or if you want the modules to be installed for the current user only, run:
Install-Module Microsoft.Graph.Applications -Scope CurrentUser
-
-
Go to the
AppCreationScripts
sub-folder. From the folder where you cloned the repo,cd AppCreationScripts
-
Run the scripts. See below for the four options to do that.
-
Open the Visual Studio solution, and in the solution's context menu, choose Set Startup Projects.
-
select Start for the projects
You're done!
We advise four ways of running the script:
- Interactive: you will be prompted for credentials, and the scripts decide in which tenant to create the objects,
- Interactive in specific tenant: you will provide the tenant in which you want to create the objects and then you will be prompted for credentials, and the scripts will create the objects,
Here are the details on how to do this.
- Just run
.\Configure.ps1
, and you will be prompted to sign-in (email address, password, and if needed MFA). - The script will be run as the signed-in user and will use the tenant in which the user is defined.
Note that the script will choose the tenant in which to create the applications, based on the user. Also to run the Cleanup.ps1
script, you will need to re-sign-in.
if you want to create the apps in a particular tenant, you can use the following option:
- Open the Microsoft Entra admin center
- Select the Microsoft Entra tenant you are interested in (in the combo-box below your name on the top right of the browser window)
- Select Overview on the left side menu and then select the Overview tab. Copy the content of the Tenant Id property
- Then use the full syntax to run the scripts:
$tenantId = "yourTenantIdGuid"
. .\Cleanup.ps1 -TenantId $tenantId
. .\Configure.ps1 -TenantId $tenantId
All the four options listed above can be used on any Azure Sovereign clouds. By default, the script targets AzureCloud
, but it can be changed using the parameter -AzureEnvironmentName
.
The acceptable values for this parameter are:
- AzureCloud
- AzureChinaCloud
- AzureUSGovernment
Example:
. .\Cleanup.ps1 -AzureEnvironmentName "AzureUSGovernment"
. .\Configure.ps1 -AzureEnvironmentName "AzureUSGovernment"