From a67c904e50f6a00ccfc970e6705fa28a7f40589f Mon Sep 17 00:00:00 2001 From: derisen Date: Sat, 26 Dec 2020 09:52:24 -0800 Subject: [PATCH] ca sample first cut --- .../AppCreationScripts/AppCreationScripts.md | 186 +++++++ .../AppCreationScripts/Cleanup.ps1 | 112 ++++ .../AppCreationScripts/Configure.ps1 | 498 ++++++++++++++++++ .../AppCreationScripts/Steps.md | 334 ++++++++++++ .../AppCreationScripts/sample.json | 144 +++++ .../DownstreamAPI/config.json | 20 + .../2-call-api-api-ca/DownstreamAPI/index.js | 60 +++ .../DownstreamAPI/package.json | 38 ++ .../DownstreamAPI/process.json | 13 + .../MiddletierAPI/config.json | 15 + .../2-call-api-api-ca/MiddletierAPI/index.js | 126 +++++ .../MiddletierAPI/package.json | 39 ++ .../MiddletierAPI/process.json | 13 + .../2-call-api-api-ca/README-incremental.md | 0 4-AdvancedGrants/2-call-api-api-ca/README.md | 366 +++++++++++++ .../2-call-api-api-ca/ReadmeFiles/ca1.png | Bin 0 -> 79805 bytes .../2-call-api-api-ca/ReadmeFiles/ca2.png | Bin 0 -> 78961 bytes .../2-call-api-api-ca/ReadmeFiles/ca3.png | Bin 0 -> 48846 bytes .../2-call-api-api-ca/ReadmeFiles/ca4.png | Bin 0 -> 66069 bytes .../2-call-api-api-ca/ReadmeFiles/ca5.png | Bin 0 -> 61811 bytes .../2-call-api-api-ca/ReadmeFiles/ca6.png | Bin 0 -> 76677 bytes .../ReadmeFiles/screenshot.png | Bin 0 -> 47279 bytes .../ReadmeFiles/topology.png | Bin 0 -> 31451 bytes .../2-call-api-api-ca/SPA/App/api.js | 46 ++ .../2-call-api-api-ca/SPA/App/apiConfig.js | 5 + .../2-call-api-api-ca/SPA/App/authConfig.js | 35 ++ .../2-call-api-api-ca/SPA/App/authPopup.js | 113 ++++ .../2-call-api-api-ca/SPA/App/authRedirect.js | 103 ++++ .../2-call-api-api-ca/SPA/App/favicon.svg | 23 + .../2-call-api-api-ca/SPA/App/index.html | 57 ++ .../2-call-api-api-ca/SPA/App/ui.js | 24 + .../2-call-api-api-ca/SPA/package.json | 41 ++ .../2-call-api-api-ca/SPA/server.js | 26 + 33 files changed, 2437 insertions(+) create mode 100644 4-AdvancedGrants/2-call-api-api-ca/AppCreationScripts/AppCreationScripts.md create mode 100644 4-AdvancedGrants/2-call-api-api-ca/AppCreationScripts/Cleanup.ps1 create mode 100644 4-AdvancedGrants/2-call-api-api-ca/AppCreationScripts/Configure.ps1 create mode 100644 4-AdvancedGrants/2-call-api-api-ca/AppCreationScripts/Steps.md create mode 100644 4-AdvancedGrants/2-call-api-api-ca/AppCreationScripts/sample.json create mode 100644 4-AdvancedGrants/2-call-api-api-ca/DownstreamAPI/config.json create mode 100644 4-AdvancedGrants/2-call-api-api-ca/DownstreamAPI/index.js create mode 100644 4-AdvancedGrants/2-call-api-api-ca/DownstreamAPI/package.json create mode 100644 4-AdvancedGrants/2-call-api-api-ca/DownstreamAPI/process.json create mode 100644 4-AdvancedGrants/2-call-api-api-ca/MiddletierAPI/config.json create mode 100644 4-AdvancedGrants/2-call-api-api-ca/MiddletierAPI/index.js create mode 100644 4-AdvancedGrants/2-call-api-api-ca/MiddletierAPI/package.json create mode 100644 4-AdvancedGrants/2-call-api-api-ca/MiddletierAPI/process.json create mode 100644 4-AdvancedGrants/2-call-api-api-ca/README-incremental.md create mode 100644 4-AdvancedGrants/2-call-api-api-ca/README.md create mode 100644 4-AdvancedGrants/2-call-api-api-ca/ReadmeFiles/ca1.png create mode 100644 4-AdvancedGrants/2-call-api-api-ca/ReadmeFiles/ca2.png create mode 100644 4-AdvancedGrants/2-call-api-api-ca/ReadmeFiles/ca3.png create mode 100644 4-AdvancedGrants/2-call-api-api-ca/ReadmeFiles/ca4.png create mode 100644 4-AdvancedGrants/2-call-api-api-ca/ReadmeFiles/ca5.png create mode 100644 4-AdvancedGrants/2-call-api-api-ca/ReadmeFiles/ca6.png create mode 100644 4-AdvancedGrants/2-call-api-api-ca/ReadmeFiles/screenshot.png create mode 100644 4-AdvancedGrants/2-call-api-api-ca/ReadmeFiles/topology.png create mode 100644 4-AdvancedGrants/2-call-api-api-ca/SPA/App/api.js create mode 100644 4-AdvancedGrants/2-call-api-api-ca/SPA/App/apiConfig.js create mode 100644 4-AdvancedGrants/2-call-api-api-ca/SPA/App/authConfig.js create mode 100644 4-AdvancedGrants/2-call-api-api-ca/SPA/App/authPopup.js create mode 100644 4-AdvancedGrants/2-call-api-api-ca/SPA/App/authRedirect.js create mode 100644 4-AdvancedGrants/2-call-api-api-ca/SPA/App/favicon.svg create mode 100644 4-AdvancedGrants/2-call-api-api-ca/SPA/App/index.html create mode 100644 4-AdvancedGrants/2-call-api-api-ca/SPA/App/ui.js create mode 100644 4-AdvancedGrants/2-call-api-api-ca/SPA/package.json create mode 100644 4-AdvancedGrants/2-call-api-api-ca/SPA/server.js diff --git a/4-AdvancedGrants/2-call-api-api-ca/AppCreationScripts/AppCreationScripts.md b/4-AdvancedGrants/2-call-api-api-ca/AppCreationScripts/AppCreationScripts.md new file mode 100644 index 0000000..7512ab4 --- /dev/null +++ b/4-AdvancedGrants/2-call-api-api-ca/AppCreationScripts/AppCreationScripts.md @@ -0,0 +1,186 @@ +# Registering the sample apps with the Microsoft identity platform and updating the configuration files using PowerShell + +## Overview + +### Quick summary + +1. On Windows run PowerShell as **Administrator** and navigate to the root of the cloned directory +1. In PowerShell run: + + ```PowerShell + Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope Process -Force + ``` + +1. Run the script to create your Azure AD application and configure the code of the sample application accordingly. (Other ways of running the scripts are described below) + + ```PowerShell + cd .\AppCreationScripts\ + .\Configure.ps1 + ``` + +1. Open the Visual Studio solution and click start + +### More details + +The following paragraphs: + +- [Registering the sample apps with the Microsoft identity platform and updating the configuration files using PowerShell](#Registering-the-sample-apps-with-the-Microsoft-identity-platform-and-updating-the-configuration-files-using-PowerShell) + - [Overview](#Overview) + - [Quick summary](#Quick-summary) + - [More details](#More-details) + - [Goal of the provided scripts](#Goal-of-the-provided-scripts) + - [Presentation of the scripts](#Presentation-of-the-scripts) + - [Usage pattern for tests and DevOps scenarios](#Usage-pattern-for-tests-and-DevOps-scenarios) + - [How to use the app creation scripts?](#How-to-use-the-app-creation-scripts) + - [Pre-requisites](#Pre-requisites) + - [Run the script and start running](#Run-the-script-and-start-running) + - [Four ways to run the script](#Four-ways-to-run-the-script) + - [Option 1 (interactive)](#Option-1-interactive) + - [Option 2 (non-interactive)](#Option-2-non-interactive) + - [Option 3 (Interactive, but create apps in a specified tenant)](#Option-3-Interactive-but-create-apps-in-a-specified-tenant) + - [Option 4 (non-interactive, and create apps in a specified tenant)](#Option-4-non-interactive-and-create-apps-in-a-specified-tenant) + - [Running the script on Azure Sovereign clouds](#Running-the-script-on-Azure-Sovereign-clouds) + +## Goal of the provided scripts + +### Presentation of the scripts + +This sample comes with two PowerShell scripts, which automate the creation of the Azure Active Directory 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 Azure AD applications and their related objects (permissions, dependencies, secrets), + - changes the configuration files in the C# and JavaScript 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 [Azure portal](https://portal.azure.com). + +- `Cleanup.ps1` which cleans-up the Azure AD objects created by `Configure.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). + +### Usage pattern for tests and DevOps scenarios + +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. + +## How to use the app creation scripts? + +### Pre-requisites + +1. Open PowerShell (On Windows, press `Windows-R` and type `PowerShell` in the search window) +1. Navigate to the root directory of the project. +1. Until you change it, the default [Execution Policy](https:/go.microsoft.com/fwlink/?LinkID=135170) for scripts is usually `Restricted`. In order to run the PowerShell script you need to set the Execution Policy to `RemoteSigned`. You can set this just for the current PowerShell process by running the command: + + ```PowerShell + Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope Process + ``` + +### (Optionally) install AzureAD PowerShell modules + +The scripts install the required PowerShell module (AzureAD) 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: + +1. If you have never done it already, in the PowerShell window, install the AzureAD PowerShell modules. For this: + + 1. Open PowerShell as admin (On Windows, Search Powershell in the search bar, right click on it and select Run as administrator). + 2. Type: + + ```PowerShell + Install-Module AzureAD + ``` + + or if you cannot be administrator on your machine, run: + + ```PowerShell + Install-Module AzureAD -Scope CurrentUser + ``` + +### Run the script and start running + +1. Go to the `AppCreationScripts` sub-folder. From the folder where you cloned the repo, + + ```PowerShell + cd AppCreationScripts + ``` + +1. Run the scripts. See below for the [four options](#four-ways-to-run-the-script) to do that. +1. Open the Visual Studio solution, and in the solution's context menu, choose **Set Startup Projects**. +1. select **Start** for the projects + +You're done. this just works! + +### Four ways to run the script + +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, +- non-interactive: you will provide 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, +- non-interactive in specific tenant: you will provide tenant in which you want to create the objects and credentials, and the scripts will create the objects. + +Here are the details on how to do this. + +#### Option 1 (interactive) + +- 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. + +#### Option 2 (non-interactive) + +When you know the identity and credentials of the user in the name of whom you want to create the applications, you can use the non-interactive approach. It's more adapted to DevOps. Here is an example of script you'd want to run in a PowerShell Window + +```PowerShell +$secpasswd = ConvertTo-SecureString "[Password here]" -AsPlainText -Force +$mycreds = New-Object System.Management.Automation.PSCredential ("[login@tenantName here]", $secpasswd) +. .\Cleanup.ps1 -Credential $mycreds +. .\Configure.ps1 -Credential $mycreds +``` + +Of course, in real life, you might already get the password as a `SecureString`. You might also want to get the password from KeyVault. + +#### Option 3 (Interactive, but create apps in a specified tenant) + + if you want to create the apps in a particular tenant, you can use the following option: + +- open the [Azure portal](https://portal.azure.com) +- Select the Azure Active directory you are interested in (in the combo-box below your name on the top right of the browser window) +- Find the "Active Directory" object in this tenant +- Go to **Properties** and copy the content of the **Directory Id** property +- Then use the full syntax to run the scripts: + +```PowerShell +$tenantId = "yourTenantIdGuid" +. .\Cleanup.ps1 -TenantId $tenantId +. .\Configure.ps1 -TenantId $tenantId +``` + +#### Option 4 (non-interactive, and create apps in a specified tenant) + +This option combines option 2 and option 3: it creates the application in a specific tenant. See option 3 for the way to get the tenant Id. Then run: + +```PowerShell +$secpasswd = ConvertTo-SecureString "[Password here]" -AsPlainText -Force +$mycreds = New-Object System.Management.Automation.PSCredential ("[login@tenantName here]", $secpasswd) +$tenantId = "yourTenantIdGuid" +. .\Cleanup.ps1 -Credential $mycreds -TenantId $tenantId +. .\Configure.ps1 -Credential $mycreds -TenantId $tenantId +``` + +### Running the script on Azure Sovereign clouds + +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 +- AzureGermanyCloud + +Example: + + ```PowerShell + . .\Cleanup.ps1 -AzureEnvironmentName "AzureGermanyCloud" + . .\Configure.ps1 -AzureEnvironmentName "AzureGermanyCloud" + ``` diff --git a/4-AdvancedGrants/2-call-api-api-ca/AppCreationScripts/Cleanup.ps1 b/4-AdvancedGrants/2-call-api-api-ca/AppCreationScripts/Cleanup.ps1 new file mode 100644 index 0000000..4f66a9f --- /dev/null +++ b/4-AdvancedGrants/2-call-api-api-ca/AppCreationScripts/Cleanup.ps1 @@ -0,0 +1,112 @@ +[CmdletBinding()] +param( + [PSCredential] $Credential, + [Parameter(Mandatory=$False, HelpMessage='Tenant ID (This is a GUID which represents the "Directory ID" of the AzureAD tenant into which you want to create the apps')] + [string] $tenantId, + [Parameter(Mandatory=$False, HelpMessage='Azure environment to use while running the script (it defaults to AzureCloud)')] + [string] $azureEnvironmentName +) + +#Requires -Modules AzureAD -RunAsAdministrator + + +if ($null -eq (Get-Module -ListAvailable -Name "AzureAD")) { + Install-Module "AzureAD" -Scope CurrentUser +} +Import-Module AzureAD +$ErrorActionPreference = "Stop" + +Function Cleanup +{ + if (!$azureEnvironmentName) + { + $azureEnvironmentName = "AzureCloud" + } + + <# + .Description + This function removes the Azure AD applications for the sample. These applications were created by the Configure.ps1 script + #> + + # $tenantId is the Active Directory Tenant. This is a GUID which represents the "Directory ID" of the AzureAD tenant + # into which you want to create the apps. Look it up in the Azure portal in the "Properties" of the Azure AD. + + # Login to Azure PowerShell (interactive if credentials are not already provided: + # you'll need to sign-in with creds enabling your to create apps in the tenant) + if (!$Credential -and $TenantId) + { + $creds = Connect-AzureAD -TenantId $tenantId -AzureEnvironmentName $azureEnvironmentName + } + else + { + if (!$TenantId) + { + $creds = Connect-AzureAD -Credential $Credential -AzureEnvironmentName $azureEnvironmentName + } + else + { + $creds = Connect-AzureAD -TenantId $tenantId -Credential $Credential -AzureEnvironmentName $azureEnvironmentName + } + } + + if (!$tenantId) + { + $tenantId = $creds.Tenant.Id + } + $tenant = Get-AzureADTenantDetail + $tenantName = ($tenant.VerifiedDomains | Where-Object { $_._Default -eq $True }).Name + + # Removes the applications + Write-Host "Cleaning-up applications from tenant '$tenantName'" + + Write-Host "Removing 'service1' (ms-identity-javascript-tutorial-c4s1-api1) if needed" + Get-AzureADApplication -Filter "DisplayName eq 'ms-identity-javascript-tutorial-c4s1-api1'" | ForEach-Object {Remove-AzureADApplication -ObjectId $_.ObjectId } + $apps = Get-AzureADApplication -Filter "DisplayName eq 'ms-identity-javascript-tutorial-c4s1-api1'" + if ($apps) + { + Remove-AzureADApplication -ObjectId $apps.ObjectId + } + + foreach ($app in $apps) + { + Remove-AzureADApplication -ObjectId $app.ObjectId + Write-Host "Removed ms-identity-javascript-tutorial-c4s1-api1.." + } + # also remove service principals of this app + Get-AzureADServicePrincipal -filter "DisplayName eq 'ms-identity-javascript-tutorial-c4s1-api1'" | ForEach-Object {Remove-AzureADServicePrincipal -ObjectId $_.Id -Confirm:$false} + + Write-Host "Removing 'service2' (ms-identity-javascript-tutorial-c4s1-api2) if needed" + Get-AzureADApplication -Filter "DisplayName eq 'ms-identity-javascript-tutorial-c4s1-api2'" | ForEach-Object {Remove-AzureADApplication -ObjectId $_.ObjectId } + $apps = Get-AzureADApplication -Filter "DisplayName eq 'ms-identity-javascript-tutorial-c4s1-api2'" + if ($apps) + { + Remove-AzureADApplication -ObjectId $apps.ObjectId + } + + foreach ($app in $apps) + { + Remove-AzureADApplication -ObjectId $app.ObjectId + Write-Host "Removed ms-identity-javascript-tutorial-c4s1-api2.." + } + # also remove service principals of this app + Get-AzureADServicePrincipal -filter "DisplayName eq 'ms-identity-javascript-tutorial-c4s1-api2'" | ForEach-Object {Remove-AzureADServicePrincipal -ObjectId $_.Id -Confirm:$false} + + Write-Host "Removing 'spa' (ms-identity-javascript-tutorial-c4s1-spa) if needed" + Get-AzureADApplication -Filter "DisplayName eq 'ms-identity-javascript-tutorial-c4s1-spa'" | ForEach-Object {Remove-AzureADApplication -ObjectId $_.ObjectId } + $apps = Get-AzureADApplication -Filter "DisplayName eq 'ms-identity-javascript-tutorial-c4s1-spa'" + if ($apps) + { + Remove-AzureADApplication -ObjectId $apps.ObjectId + } + + foreach ($app in $apps) + { + Remove-AzureADApplication -ObjectId $app.ObjectId + Write-Host "Removed ms-identity-javascript-tutorial-c4s1-spa.." + } + # also remove service principals of this app + Get-AzureADServicePrincipal -filter "DisplayName eq 'ms-identity-javascript-tutorial-c4s1-spa'" | ForEach-Object {Remove-AzureADServicePrincipal -ObjectId $_.Id -Confirm:$false} + +} + +Cleanup -Credential $Credential -tenantId $TenantId \ No newline at end of file diff --git a/4-AdvancedGrants/2-call-api-api-ca/AppCreationScripts/Configure.ps1 b/4-AdvancedGrants/2-call-api-api-ca/AppCreationScripts/Configure.ps1 new file mode 100644 index 0000000..764914d --- /dev/null +++ b/4-AdvancedGrants/2-call-api-api-ca/AppCreationScripts/Configure.ps1 @@ -0,0 +1,498 @@ +[CmdletBinding()] +param( + [PSCredential] $Credential, + [Parameter(Mandatory=$False, HelpMessage='Tenant ID (This is a GUID which represents the "Directory ID" of the AzureAD tenant into which you want to create the apps')] + [string] $tenantId, + [Parameter(Mandatory=$False, HelpMessage='Azure environment to use while running the script (it defaults to AzureCloud)')] + [string] $azureEnvironmentName +) + +#Requires -Modules AzureAD -RunAsAdministrator + +<# + This script creates the Azure AD applications needed for this sample and updates the configuration files + for the visual Studio projects from the data in the Azure AD applications. + + Before running this script you need to install the AzureAD cmdlets as an administrator. + For this: + 1) Run Powershell as an administrator + 2) in the PowerShell window, type: Install-Module AzureAD + + There are four ways to run this script. For more information, read the AppCreationScripts.md file in the same folder as this script. +#> + +# Create a password that can be used as an application key +Function ComputePassword +{ + $aesManaged = New-Object "System.Security.Cryptography.AesManaged" + $aesManaged.Mode = [System.Security.Cryptography.CipherMode]::CBC + $aesManaged.Padding = [System.Security.Cryptography.PaddingMode]::Zeros + $aesManaged.BlockSize = 128 + $aesManaged.KeySize = 256 + $aesManaged.GenerateKey() + return [System.Convert]::ToBase64String($aesManaged.Key) +} + +# Create an application key +# See https://www.sabin.io/blog/adding-an-azure-active-directory-application-and-key-using-powershell/ +Function CreateAppKey([DateTime] $fromDate, [double] $durationInYears, [string]$pw) +{ + $endDate = $fromDate.AddYears($durationInYears) + $keyId = (New-Guid).ToString(); + $key = New-Object Microsoft.Open.AzureAD.Model.PasswordCredential + $key.StartDate = $fromDate + $key.EndDate = $endDate + $key.Value = $pw + $key.KeyId = $keyId + return $key +} + +# Adds the requiredAccesses (expressed as a pipe separated string) to the requiredAccess structure +# The exposed permissions are in the $exposedPermissions collection, and the type of permission (Scope | Role) is +# described in $permissionType +Function AddResourcePermission($requiredAccess, ` + $exposedPermissions, [string]$requiredAccesses, [string]$permissionType) +{ + foreach($permission in $requiredAccesses.Trim().Split("|")) + { + foreach($exposedPermission in $exposedPermissions) + { + if ($exposedPermission.Value -eq $permission) + { + $resourceAccess = New-Object Microsoft.Open.AzureAD.Model.ResourceAccess + $resourceAccess.Type = $permissionType # Scope = Delegated permissions | Role = Application permissions + $resourceAccess.Id = $exposedPermission.Id # Read directory data + $requiredAccess.ResourceAccess.Add($resourceAccess) + } + } + } +} + +# +# Example: GetRequiredPermissions "Microsoft Graph" "Graph.Read|User.Read" +# See also: http://stackoverflow.com/questions/42164581/how-to-configure-a-new-azure-ad-application-through-powershell +Function GetRequiredPermissions([string] $applicationDisplayName, [string] $requiredDelegatedPermissions, [string]$requiredApplicationPermissions, $servicePrincipal) +{ + # If we are passed the service principal we use it directly, otherwise we find it from the display name (which might not be unique) + if ($servicePrincipal) + { + $sp = $servicePrincipal + } + else + { + $sp = Get-AzureADServicePrincipal -Filter "DisplayName eq '$applicationDisplayName'" + } + $appid = $sp.AppId + $requiredAccess = New-Object Microsoft.Open.AzureAD.Model.RequiredResourceAccess + $requiredAccess.ResourceAppId = $appid + $requiredAccess.ResourceAccess = New-Object System.Collections.Generic.List[Microsoft.Open.AzureAD.Model.ResourceAccess] + + # $sp.Oauth2Permissions | Select Id,AdminConsentDisplayName,Value: To see the list of all the Delegated permissions for the application: + if ($requiredDelegatedPermissions) + { + AddResourcePermission $requiredAccess -exposedPermissions $sp.Oauth2Permissions -requiredAccesses $requiredDelegatedPermissions -permissionType "Scope" + } + + # $sp.AppRoles | Select Id,AdminConsentDisplayName,Value: To see the list of all the Application permissions for the application + if ($requiredApplicationPermissions) + { + AddResourcePermission $requiredAccess -exposedPermissions $sp.AppRoles -requiredAccesses $requiredApplicationPermissions -permissionType "Role" + } + return $requiredAccess +} + + +Function UpdateLine([string] $line, [string] $value) +{ + $index = $line.IndexOf('=') + $delimiter = ';' + if ($index -eq -1) + { + $index = $line.IndexOf(':') + $delimiter = ',' + } + if ($index -ige 0) + { + $line = $line.Substring(0, $index+1) + " "+'"'+$value+'"'+$delimiter + } + return $line +} + +Function UpdateTextFile([string] $configFilePath, [System.Collections.HashTable] $dictionary) +{ + $lines = Get-Content $configFilePath + $index = 0 + while($index -lt $lines.Length) + { + $line = $lines[$index] + foreach($key in $dictionary.Keys) + { + if ($line.Contains($key)) + { + $lines[$index] = UpdateLine $line $dictionary[$key] + } + } + $index++ + } + + Set-Content -Path $configFilePath -Value $lines -Force +} + +Function ReplaceInLine([string] $line, [string] $key, [string] $value) +{ + $index = $line.IndexOf($key) + if ($index -ige 0) + { + $index2 = $index+$key.Length + $line = $line.Substring(0, $index) + $value + $line.Substring($index2) + } + return $line +} + +Function ReplaceInTextFile([string] $configFilePath, [System.Collections.HashTable] $dictionary) +{ + $lines = Get-Content $configFilePath + $index = 0 + while($index -lt $lines.Length) + { + $line = $lines[$index] + foreach($key in $dictionary.Keys) + { + if ($line.Contains($key)) + { + $lines[$index] = ReplaceInLine $line $key $dictionary[$key] + } + } + $index++ + } + + Set-Content -Path $configFilePath -Value $lines -Force +} +<#.Description + This function creates a new Azure AD scope (OAuth2Permission) with default and provided values +#> +Function CreateScope( [string] $value, [string] $userConsentDisplayName, [string] $userConsentDescription, [string] $adminConsentDisplayName, [string] $adminConsentDescription) +{ + $scope = New-Object Microsoft.Open.AzureAD.Model.OAuth2Permission + $scope.Id = New-Guid + $scope.Value = $value + $scope.UserConsentDisplayName = $userConsentDisplayName + $scope.UserConsentDescription = $userConsentDescription + $scope.AdminConsentDisplayName = $adminConsentDisplayName + $scope.AdminConsentDescription = $adminConsentDescription + $scope.IsEnabled = $true + $scope.Type = "User" + return $scope +} + +<#.Description + This function creates a new Azure AD AppRole with default and provided values +#> +Function CreateAppRole([string] $types, [string] $name, [string] $description) +{ + $appRole = New-Object Microsoft.Open.AzureAD.Model.AppRole + $appRole.AllowedMemberTypes = New-Object System.Collections.Generic.List[string] + $typesArr = $types.Split(',') + foreach($type in $typesArr) + { + $appRole.AllowedMemberTypes.Add($type); + } + $appRole.DisplayName = $name + $appRole.Id = New-Guid + $appRole.IsEnabled = $true + $appRole.Description = $description + $appRole.Value = $name; + return $appRole +} + +Set-Content -Value "" -Path createdApps.html +Add-Content -Value "" -Path createdApps.html + +$ErrorActionPreference = "Stop" + +Function ConfigureApplications +{ +<#.Description + This function creates the Azure AD applications for the sample in the provided Azure AD tenant and updates the + configuration files in the client and service project of the visual studio solution (App.Config and Web.Config) + so that they are consistent with the Applications parameters +#> + $commonendpoint = "common" + + if (!$azureEnvironmentName) + { + $azureEnvironmentName = "AzureCloud" + } + + # $tenantId is the Active Directory Tenant. This is a GUID which represents the "Directory ID" of the AzureAD tenant + # into which you want to create the apps. Look it up in the Azure portal in the "Properties" of the Azure AD. + + # Login to Azure PowerShell (interactive if credentials are not already provided: + # you'll need to sign-in with creds enabling your to create apps in the tenant) + if (!$Credential -and $TenantId) + { + $creds = Connect-AzureAD -TenantId $tenantId -AzureEnvironmentName $azureEnvironmentName + } + else + { + if (!$TenantId) + { + $creds = Connect-AzureAD -Credential $Credential -AzureEnvironmentName $azureEnvironmentName + } + else + { + $creds = Connect-AzureAD -TenantId $tenantId -Credential $Credential -AzureEnvironmentName $azureEnvironmentName + } + } + + if (!$tenantId) + { + $tenantId = $creds.Tenant.Id + } + + + + $tenant = Get-AzureADTenantDetail + $tenantName = ($tenant.VerifiedDomains | Where { $_._Default -eq $True }).Name + + # Get the user running the script to add the user as the app owner + $user = Get-AzureADUser -ObjectId $creds.Account.Id + + # Create the service1 AAD application + Write-Host "Creating the AAD application (ms-identity-javascript-tutorial-c4s1-api1)" + # create the application + $service1AadApplication = New-AzureADApplication -DisplayName "ms-identity-javascript-tutorial-c4s1-api1" ` + -HomePage "http://localhost:7000/api" ` + -PublicClient $False + + $service1IdentifierUri = 'api://'+$service1AadApplication.AppId + Set-AzureADApplication -ObjectId $service1AadApplication.ObjectId -IdentifierUris $service1IdentifierUri + + # create the service principal of the newly created application + $currentAppId = $service1AadApplication.AppId + $service1ServicePrincipal = New-AzureADServicePrincipal -AppId $currentAppId -Tags {WindowsAzureActiveDirectoryIntegratedApp} + + # add the user running the script as an app owner if needed + $owner = Get-AzureADApplicationOwner -ObjectId $service1AadApplication.ObjectId + if ($owner -eq $null) + { + Add-AzureADApplicationOwner -ObjectId $service1AadApplication.ObjectId -RefObjectId $user.ObjectId + Write-Host "'$($user.UserPrincipalName)' added as an application owner to app '$($service1ServicePrincipal.DisplayName)'" + } + + # rename the user_impersonation scope if it exists to match the readme steps or add a new scope + $scopes = New-Object System.Collections.Generic.List[Microsoft.Open.AzureAD.Model.OAuth2Permission] + + if ($scopes.Count -ge 0) + { + # add all existing scopes first + $serviceAadApplication.Oauth2Permissions | foreach-object { $scopes.Add($_) } + + $scope = $serviceAadApplication.Oauth2Permissions | Where-Object { $_.Value -eq "User_impersonation" } + + if ($scope -ne $null) + { + $scope.Value = "access_as_user" + } + else + { + # Add scope + $scope = CreateScope -value "access_as_user" ` + -userConsentDisplayName "Access ms-identity-javascript-tutorial-c4s1-api1" ` + -userConsentDescription "Allow the application to access ms-identity-javascript-tutorial-c4s1-api1 on your behalf." ` + -adminConsentDisplayName "Access ms-identity-javascript-tutorial-c4s1-api1" ` + -adminConsentDescription "Allows the app to have the same access to information in the directory on behalf of the signed-in user." + + $scopes.Add($scope) + } + } + + # add/update scopes + Set-AzureADApplication -ObjectId $serviceAadApplication.ObjectId -OAuth2Permission $scopes + + Write-Host "Done creating the service1 application (ms-identity-javascript-tutorial-c4s1-api1)" + + # URL of the AAD application in the Azure portal + # Future? $service1PortalUrl = "https://portal.azure.com/#@"+$tenantName+"/blade/Microsoft_AAD_RegisteredApps/ApplicationMenuBlade/Overview/appId/"+$service1AadApplication.AppId+"/objectId/"+$service1AadApplication.ObjectId+"/isMSAApp/" + $service1PortalUrl = "https://portal.azure.com/#blade/Microsoft_AAD_RegisteredApps/ApplicationMenuBlade/CallAnAPI/appId/"+$service1AadApplication.AppId+"/objectId/"+$service1AadApplication.ObjectId+"/isMSAApp/" + Add-Content -Value "" -Path createdApps.html + + + # Create the service2 AAD application + Write-Host "Creating the AAD application (ms-identity-javascript-tutorial-c4s1-api2)" + # Get a 2 years application key for the service2 Application + $pw = ComputePassword + $fromDate = [DateTime]::Now; + $key = CreateAppKey -fromDate $fromDate -durationInYears 2 -pw $pw + $service2AppKey = $pw + # create the application + $service2AadApplication = New-AzureADApplication -DisplayName "ms-identity-javascript-tutorial-c4s1-api2" ` + -HomePage "http://localhost:5000/api" ` + -PasswordCredentials $key ` + -PublicClient $False + + $service2IdentifierUri = 'api://'+$service2AadApplication.AppId + Set-AzureADApplication -ObjectId $service2AadApplication.ObjectId -IdentifierUris $service2IdentifierUri + + # create the service principal of the newly created application + $currentAppId = $service2AadApplication.AppId + $service2ServicePrincipal = New-AzureADServicePrincipal -AppId $currentAppId -Tags {WindowsAzureActiveDirectoryIntegratedApp} + + # add the user running the script as an app owner if needed + $owner = Get-AzureADApplicationOwner -ObjectId $service2AadApplication.ObjectId + if ($owner -eq $null) + { + Add-AzureADApplicationOwner -ObjectId $service2AadApplication.ObjectId -RefObjectId $user.ObjectId + Write-Host "'$($user.UserPrincipalName)' added as an application owner to app '$($service2ServicePrincipal.DisplayName)'" + } + + # rename the user_impersonation scope if it exists to match the readme steps or add a new scope + $scopes = New-Object System.Collections.Generic.List[Microsoft.Open.AzureAD.Model.OAuth2Permission] + + if ($scopes.Count -ge 0) + { + # add all existing scopes first + $serviceAadApplication.Oauth2Permissions | foreach-object { $scopes.Add($_) } + + $scope = $serviceAadApplication.Oauth2Permissions | Where-Object { $_.Value -eq "User_impersonation" } + + if ($scope -ne $null) + { + $scope.Value = "access_as_user" + } + else + { + # Add scope + $scope = CreateScope -value "access_as_user" ` + -userConsentDisplayName "Access ms-identity-javascript-tutorial-c4s1-api2" ` + -userConsentDescription "Allow the application to access ms-identity-javascript-tutorial-c4s1-api2 on your behalf." ` + -adminConsentDisplayName "Access ms-identity-javascript-tutorial-c4s1-api2" ` + -adminConsentDescription "Allows the app to have the same access to information in the directory on behalf of the signed-in user." + + $scopes.Add($scope) + } + } + + # add/update scopes + Set-AzureADApplication -ObjectId $serviceAadApplication.ObjectId -OAuth2Permission $scopes + + Write-Host "Done creating the service2 application (ms-identity-javascript-tutorial-c4s1-api2)" + + # URL of the AAD application in the Azure portal + # Future? $service2PortalUrl = "https://portal.azure.com/#@"+$tenantName+"/blade/Microsoft_AAD_RegisteredApps/ApplicationMenuBlade/Overview/appId/"+$service2AadApplication.AppId+"/objectId/"+$service2AadApplication.ObjectId+"/isMSAApp/" + $service2PortalUrl = "https://portal.azure.com/#blade/Microsoft_AAD_RegisteredApps/ApplicationMenuBlade/CallAnAPI/appId/"+$service2AadApplication.AppId+"/objectId/"+$service2AadApplication.ObjectId+"/isMSAApp/" + Add-Content -Value "" -Path createdApps.html + + $requiredResourcesAccess = New-Object System.Collections.Generic.List[Microsoft.Open.AzureAD.Model.RequiredResourceAccess] + + # Add Required Resources Access (from 'service2' to 'service1') + Write-Host "Getting access from 'service2' to 'service1'" + $requiredPermissions = GetRequiredPermissions -applicationDisplayName "ms-identity-javascript-tutorial-c4s1-api1" ` + -requiredDelegatedPermissions "user_impersonation" ` + + $requiredResourcesAccess.Add($requiredPermissions) + + + Set-AzureADApplication -ObjectId $service2AadApplication.ObjectId -RequiredResourceAccess $requiredResourcesAccess + Write-Host "Granted permissions." + + # Create the spa AAD application + Write-Host "Creating the AAD application (ms-identity-javascript-tutorial-c4s1-spa)" + # create the application + $spaAadApplication = New-AzureADApplication -DisplayName "ms-identity-javascript-tutorial-c4s1-spa" ` + -HomePage "http://localhost:3000/" ` + -ReplyUrls "http://localhost:3000/" ` + -IdentifierUris "https://$tenantName/ms-identity-javascript-tutorial-c4s1-spa" ` + -PublicClient $False + + # create the service principal of the newly created application + $currentAppId = $spaAadApplication.AppId + $spaServicePrincipal = New-AzureADServicePrincipal -AppId $currentAppId -Tags {WindowsAzureActiveDirectoryIntegratedApp} + + # add the user running the script as an app owner if needed + $owner = Get-AzureADApplicationOwner -ObjectId $spaAadApplication.ObjectId + if ($owner -eq $null) + { + Add-AzureADApplicationOwner -ObjectId $spaAadApplication.ObjectId -RefObjectId $user.ObjectId + Write-Host "'$($user.UserPrincipalName)' added as an application owner to app '$($spaServicePrincipal.DisplayName)'" + } + + + Write-Host "Done creating the spa application (ms-identity-javascript-tutorial-c4s1-spa)" + + # URL of the AAD application in the Azure portal + # Future? $spaPortalUrl = "https://portal.azure.com/#@"+$tenantName+"/blade/Microsoft_AAD_RegisteredApps/ApplicationMenuBlade/Overview/appId/"+$spaAadApplication.AppId+"/objectId/"+$spaAadApplication.ObjectId+"/isMSAApp/" + $spaPortalUrl = "https://portal.azure.com/#blade/Microsoft_AAD_RegisteredApps/ApplicationMenuBlade/CallAnAPI/appId/"+$spaAadApplication.AppId+"/objectId/"+$spaAadApplication.ObjectId+"/isMSAApp/" + Add-Content -Value "" -Path createdApps.html + + $requiredResourcesAccess = New-Object System.Collections.Generic.List[Microsoft.Open.AzureAD.Model.RequiredResourceAccess] + + # Add Required Resources Access (from 'spa' to 'service2') + Write-Host "Getting access from 'spa' to 'service2'" + $requiredPermissions = GetRequiredPermissions -applicationDisplayName "ms-identity-javascript-tutorial-c4s1-api2" ` + -requiredDelegatedPermissions "user_impersonation" ` + + $requiredResourcesAccess.Add($requiredPermissions) + + + Set-AzureADApplication -ObjectId $spaAadApplication.ObjectId -RequiredResourceAccess $requiredResourcesAccess + Write-Host "Granted permissions." + + # Configure known client applications for service2 + Write-Host "Configure known client applications for the 'service2'" + $knowApplications = New-Object System.Collections.Generic.List[System.String] + $knowApplications.Add($spaAadApplication.AppId) + Set-AzureADApplication -ObjectId $service2AadApplication.ObjectId -KnownClientApplications $knowApplications + Write-Host "Configured." + + + # Update config file for 'spa' + $configFile = $pwd.Path + "\..\Client\App\authConfig.js" + Write-Host "Updating the sample code ($configFile)" + $dictionary = @{ "Enter_the_Application_Id_Here" = $spaAadApplication.AppId;"Enter_the_Cloud_Instance_Id_Here/Enter_the_Tenant_Info_Here" = "https://login.microsoftonline.com/"+$tenantId;"Enter_the_Redirect_Uri_Here" = $spaAadApplication.ReplyUrls }; + ReplaceInTextFile -configFilePath $configFile -dictionary $dictionary + + # Update config file for 'spa' + $configFile = $pwd.Path + "\..\Client\App\apiConfig.js" + Write-Host "Updating the sample code ($configFile)" + $dictionary = @{ "Enter_the_Web_Api_Uri_Here" = service.HomePage;"Enter_the_Web_Api_Scope_Here" = service.Scope }; + ReplaceInTextFile -configFilePath $configFile -dictionary $dictionary + + # Update config file for 'service1' + $configFile = $pwd.Path + "\..\MiddletierAPI\config.json" + Write-Host "Updating the sample code ($configFile)" + $dictionary = @{ "clientID" = $service1AadApplication.AppId;"tenantID" = $tenantId;"audience" = $service1AadApplication.AppId;"clientSecret" = $service1AppKey }; + UpdateTextFile -configFilePath $configFile -dictionary $dictionary + + # Update config file for 'service2' + $configFile = $pwd.Path + "\..\DownstreamAPI\config.json" + Write-Host "Updating the sample code ($configFile)" + $dictionary = @{ "clientID" = $service2AadApplication.AppId;"tenantID" = $tenantId;"audience" = $service2AadApplication.AppId;"clientSecret" = $service2AppKey }; + UpdateTextFile -configFilePath $configFile -dictionary $dictionary + Write-Host "" + Write-Host -ForegroundColor Green "------------------------------------------------------------------------------------------------" + Write-Host "IMPORTANT: Please follow the instructions below to complete a few manual step(s) in the Azure portal": + Write-Host "- For 'service1'" + Write-Host " - Navigate to '$service1PortalUrl'" + Write-Host " - Navigate to the Manifest and set 'accessTokenAcceptedVersion' to '2' instead of 'null'" -ForegroundColor Red + Write-Host "- For 'service2'" + Write-Host " - Navigate to '$service2PortalUrl'" + Write-Host " - Navigate to the Manifest and set 'accessTokenAcceptedVersion' to '2' instead of 'null'" -ForegroundColor Red + Write-Host "- For 'spa'" + Write-Host " - Navigate to '$spaPortalUrl'" + Write-Host " - Navigate to the Manifest page, find the 'replyUrlsWithType' section and change the type of redirect URI to 'Spa'" -ForegroundColor Red + + Write-Host -ForegroundColor Green "------------------------------------------------------------------------------------------------" + + Add-Content -Value "
ApplicationAppIdUrl in the Azure portal
service1$currentAppIdms-identity-javascript-tutorial-c4s1-api1
service2$currentAppIdms-identity-javascript-tutorial-c4s1-api2
spa$currentAppIdms-identity-javascript-tutorial-c4s1-spa
" -Path createdApps.html +} + +# Pre-requisites +if ((Get-Module -ListAvailable -Name "AzureAD") -eq $null) { + Install-Module "AzureAD" -Scope CurrentUser +} + +Import-Module AzureAD + +# Run interactively (will ask you for the tenant ID) +ConfigureApplications -Credential $Credential -tenantId $TenantId \ No newline at end of file diff --git a/4-AdvancedGrants/2-call-api-api-ca/AppCreationScripts/Steps.md b/4-AdvancedGrants/2-call-api-api-ca/AppCreationScripts/Steps.md new file mode 100644 index 0000000..83526ef --- /dev/null +++ b/4-AdvancedGrants/2-call-api-api-ca/AppCreationScripts/Steps.md @@ -0,0 +1,334 @@ +--- +page_type: sample +languages: + - javascript +products: + - nodejs + - msal-js + - azure-active-directory +name: A Node.js web API secured by Azure AD and calling another Node.js web API downstream on behalf of a user with conditional access +urlFragment: ms-identity-javascript-tutorial +description: "This sample demonstrates a JavaScript SPA calling a Node.js Web Api that is secured using Azure AD" +--- +# A Node.js web API secured by Azure AD and calling another Node.js web API downstream on behalf of a user with conditional access + + 1. [Overview](#overview) + 1. [Scenario](#scenario) + 1. [Contents](#contents) + 1. [Prerequisites](#prerequisites) + 1. [Setup](#setup) + 1. [Registration](#registration) + 1. [Running the sample](#running-the-sample) + 1. [Explore the sample](#explore-the-sample) + 1. [About the code](#about-the-code) + 1. [More information](#more-information) + 1. [Community Help and Support](#community-help-and-support) + 1. [Contributing](#contributing) + +![Build badge](https://identitydivision.visualstudio.com/_apis/public/build/definitions/a7934fdd-dcde-4492-a406-7fad6ac00e17//badge) + +## Overview + +ENTER OVERVIEW + +## Scenario + +1. The client uses the **MSAL.js** to sign-in and obtain a **JWT** access token from **Azure AD**. +1. The access token is used as a *bearer token* to authorize the user to call the **middle-tier web API** protected by **Azure AD**. +1. The **middle-tier web API** presents the token sent from client to **Azure AD** in order to receive a new token to call the **downstream web API**. +1. Because the **downstream web API** has a **conditional access** policy enabled (MFA), it generates a **claims challenge** and sends it back. +1. The **middle-tier web API** propagates the **claims challenge** back to client, which triggers an **interactive** token request. + +![Overview](./ReadmeFiles/topology.png) + +## Contents + +| File/folder | Description | +|-------------------|--------------------------------------------| +| `CHANGELOG.md` | List of changes to the sample. | +| `CONTRIBUTING.md` | Guidelines for contributing to the sample. | +| `LICENSE` | The license for the sample. | + +## Prerequisites + +- [Node.js](https://nodejs.org/en/download/) must be installed to run this sample. +- A modern web browser. This sample uses **ES6** conventions and will not run on **Internet Explorer**. +- [Visual Studio Code](https://code.visualstudio.com/download) is recommended for running and editing this sample. +- [VS Code Azure Tools](https://marketplace.visualstudio.com/items?itemName=ms-vscode.vscode-node-azure-pack) extension is recommended for interacting with Azure through VS Code Interface. +- An **Azure AD** tenant. For more information see: [How to get an Azure AD tenant](https://docs.microsoft.com/azure/active-directory/develop/quickstart-create-new-tenant) +- A user account in your **Azure AD** tenant. This sample will not work with a **personal Microsoft account**. Therefore, if you signed in to the [Azure portal](https://portal.azure.com) with a personal account and have never created a user account in your directory before, you need to do that now. + +## Setup + +### Step 1: Clone or download this repository + +From your shell or command line: + +```console + git clone https://github.com/Azure-Samples/ms-identity-javascript-tutorial.git +``` + +or download and extract the repository .zip file. + +> :warning: To avoid path length limitations on Windows, we recommend cloning into a directory near the root of your drive. + +### Step 2: Install project dependencies + +```console + cd ms-identity-javascript-tutorial-c4s1-api1 + npm install +``` + +```console + cd ms-identity-javascript-tutorial-c4s1-api2 + npm install +``` + +```console + cd ms-identity-javascript-tutorial-c4s1-spa + npm install +``` + +### Register the sample application(s) with your Azure Active Directory tenant + +There are three projects in this sample. Each needs to be separately registered in your Azure AD tenant. To register these projects, you can: + +- follow the steps below for manually register your apps +- or use PowerShell scripts that: + - **automatically** creates the Azure AD applications and related objects (passwords, permissions, dependencies) for you. + - modify the projects' configuration files. + +
+ Expand this section if you want to use this automation: + +> :warning: If you have never used **Azure AD Powershell** before, we recommend you go through the [App Creation Scripts](./AppCreationScripts/AppCreationScripts.md) once to ensure that your environment is prepared correctly for this step. + +1. On Windows, run PowerShell as **Administrator** and navigate to the root of the cloned directory +1. If you have never used Azure AD Powershell before, we recommend you go through the [App Creation Scripts](./AppCreationScripts/AppCreationScripts.md) once to ensure that your environment is prepared correctly for this step. +1. In PowerShell run: + + ```PowerShell + Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope Process -Force + ``` + +1. Run the script to create your Azure AD application and configure the code of the sample application accordingly. +1. In PowerShell run: + + ```PowerShell + cd .\AppCreationScripts\ + .\Configure.ps1 + ``` + + > Other ways of running the scripts are described in [App Creation Scripts](./AppCreationScripts/AppCreationScripts.md) + > The scripts also provide a guide to automated application registration, configuration and removal which can help in your CI/CD scenarios. + +
+ +### Choose the Azure AD tenant where you want to create your applications + +As a first step you'll need to: + +1. Sign in to the [Azure portal](https://portal.azure.com). +1. If your account is present in more than one Azure AD tenant, select your profile at the top right corner in the menu on top of the page, and then **switch directory** to change your portal session to the desired Azure AD tenant. + +### Register the service1 app (ms-identity-javascript-tutorial-c4s1-api1) + +1. Navigate to the [Azure portal](https://portal.azure.com) and select the **Azure AD** service. +1. Select the **App Registrations** blade on the left, then select **New registration**. +1. In the **Register an application page** that appears, enter your application's registration information: + - In the **Name** section, enter a meaningful application name that will be displayed to users of the app, for example `ms-identity-javascript-tutorial-c4s1-api1`. + - Under **Supported account types**, select **Accounts in this organizational directory only**. +1. Select **Register** to create the application. +1. In the app's registration screen, find and note the **Application (client) ID**. You use this value in your app's configuration file(s) later in your code. +1. Select **Save** to save your changes. +1. In the app's registration screen, select the **Expose an API** blade to the left to open the page where you can declare the parameters to expose this app as an API for which client applications can obtain [access tokens](https://docs.microsoft.com/azure/active-directory/develop/access-tokens) for. +The first thing that we need to do is to declare the unique [resource](https://docs.microsoft.com/azure/active-directory/develop/v2-oauth2-auth-code-flow) URI that the clients will be using to obtain access tokens for this Api. To declare an resource URI, follow the following steps: + - Select `Set` next to the **Application ID URI** to generate a URI that is unique for this app. + - For this sample, accept the proposed Application ID URI (`api://{clientId}`) by selecting **Save**. +1. All APIs have to publish a minimum of one [scope](https://docs.microsoft.com/azure/active-directory/develop/v2-oauth2-auth-code-flow#request-an-authorization-code) for the client's to obtain an access token successfully. To publish a scope, follow the following steps: + - Select **Add a scope** button open the **Add a scope** screen and Enter the values as indicated below: + - For **Scope name**, use `user_impersonation`. + - Select **Admins and users** options for **Who can consent?**. + - For **Admin consent display name** type `Access ms-identity-javascript-tutorial-c4s1-api1`. + - For **Admin consent description** type `Allows the app to access ms-identity-javascript-tutorial-c4s1-api1 as the signed-in user.` + - For **User consent display name** type `Access ms-identity-javascript-tutorial-c4s1-api1`. + - For **User consent description** type `Allow the application to access ms-identity-javascript-tutorial-c4s1-api1 on your behalf.` + - Keep **State** as **Enabled**. + - Select the **Add scope** button on the bottom to save this scope. + +#### Configure the service1 app (ms-identity-javascript-tutorial-c4s1-api1) to use your app registration + +Open the project in your IDE (like Visual Studio or Visual Studio Code) to configure the code. + +> In the steps below, "ClientID" is the same as "Application ID" or "AppId". + +1. Open the `MiddletierAPI\config.json` file. +1. Find the key `clientID` and replace the existing value with the application ID (clientId) of `ms-identity-javascript-tutorial-c4s1-api1` app copied from the Azure portal. +1. Find the key `tenantID` and replace the existing value with your Azure AD tenant ID. +1. Find the key `audience` and replace the existing value with the application ID (clientId) of `ms-identity-javascript-tutorial-c4s1-api1` app copied from the Azure portal. +1. Find the key `clientSecret` and replace the existing value with the key you saved during the creation of `ms-identity-javascript-tutorial-c4s1-api1` copied from the Azure portal. + +### Register the service2 app (ms-identity-javascript-tutorial-c4s1-api2) + +1. Navigate to the [Azure portal](https://portal.azure.com) and select the **Azure AD** service. +1. Select the **App Registrations** blade on the left, then select **New registration**. +1. In the **Register an application page** that appears, enter your application's registration information: + - In the **Name** section, enter a meaningful application name that will be displayed to users of the app, for example `ms-identity-javascript-tutorial-c4s1-api2`. + - Under **Supported account types**, select **Accounts in this organizational directory only**. +1. Select **Register** to create the application. +1. In the app's registration screen, find and note the **Application (client) ID**. You use this value in your app's configuration file(s) later in your code. +1. Select **Save** to save your changes. +1. In the app's registration screen, select the **Certificates & secrets** blade in the left to open the page where we can generate secrets and upload certificates. +1. In the **Client secrets** section, select **New client secret**: + - Type a key description (for instance `app secret`), + - Select one of the available key durations (**In 1 year**, **In 2 years**, or **Never Expires**) as per your security posture. + - The generated key value will be displayed when you select the **Add** button. Copy the generated value for use in the steps later. + - You'll need this key later in your code's configuration files. This key value will not be displayed again, and is not retrievable by any other means, so make sure to note it from the Azure portal before navigating to any other screen or blade. +1. In the app's registration screen, select the **API permissions** blade in the left to open the page where we add access to the APIs that your application needs. + - Select the **Add a permission** button and then, + - Ensure that the **My APIs** tab is selected. + - In the list of APIs, select the API `ms-identity-javascript-tutorial-c4s1-api1`. + - In the **Delegated permissions** section, select the **user_impersonation** in the list. Use the search box if necessary. + - Select the **Add permissions** button at the bottom. +1. In the app's registration screen, select the **Expose an API** blade to the left to open the page where you can declare the parameters to expose this app as an API for which client applications can obtain [access tokens](https://docs.microsoft.com/azure/active-directory/develop/access-tokens) for. +The first thing that we need to do is to declare the unique [resource](https://docs.microsoft.com/azure/active-directory/develop/v2-oauth2-auth-code-flow) URI that the clients will be using to obtain access tokens for this Api. To declare an resource URI, follow the following steps: + - Select `Set` next to the **Application ID URI** to generate a URI that is unique for this app. + - For this sample, accept the proposed Application ID URI (`api://{clientId}`) by selecting **Save**. +1. All APIs have to publish a minimum of one [scope](https://docs.microsoft.com/azure/active-directory/develop/v2-oauth2-auth-code-flow#request-an-authorization-code) for the client's to obtain an access token successfully. To publish a scope, follow the following steps: + - Select **Add a scope** button open the **Add a scope** screen and Enter the values as indicated below: + - For **Scope name**, use `user_impersonation`. + - Select **Admins and users** options for **Who can consent?**. + - For **Admin consent display name** type `Access ms-identity-javascript-tutorial-c4s1-api2`. + - For **Admin consent description** type `Allows the app to access ms-identity-javascript-tutorial-c4s1-api2 as the signed-in user.` + - For **User consent display name** type `Access ms-identity-javascript-tutorial-c4s1-api2`. + - For **User consent description** type `Allow the application to access ms-identity-javascript-tutorial-c4s1-api2 on your behalf.` + - Keep **State** as **Enabled**. + - Select the **Add scope** button on the bottom to save this scope. + +#### Configure the service2 app (ms-identity-javascript-tutorial-c4s1-api2) to use your app registration + +Open the project in your IDE (like Visual Studio or Visual Studio Code) to configure the code. + +> In the steps below, "ClientID" is the same as "Application ID" or "AppId". + +1. Open the `DownstreamAPI\config.json` file. +1. Find the key `clientID` and replace the existing value with the application ID (clientId) of `ms-identity-javascript-tutorial-c4s1-api2` app copied from the Azure portal. +1. Find the key `tenantID` and replace the existing value with your Azure AD tenant ID. +1. Find the key `audience` and replace the existing value with the application ID (clientId) of `ms-identity-javascript-tutorial-c4s1-api2` app copied from the Azure portal. +1. Find the key `clientSecret` and replace the existing value with the key you saved during the creation of `ms-identity-javascript-tutorial-c4s1-api2` copied from the Azure portal. + +### Register the spa app (ms-identity-javascript-tutorial-c4s1-spa) + +1. Navigate to the [Azure portal](https://portal.azure.com) and select the **Azure AD** service. +1. Select the **App Registrations** blade on the left, then select **New registration**. +1. In the **Register an application page** that appears, enter your application's registration information: + - In the **Name** section, enter a meaningful application name that will be displayed to users of the app, for example `ms-identity-javascript-tutorial-c4s1-spa`. + - Under **Supported account types**, select **Accounts in this organizational directory only**. + - In the **Redirect URI (optional)** section, select **Single-page application** in the combo-box and enter the following redirect URI: `http://localhost:3000/`. +1. Select **Register** to create the application. +1. In the app's registration screen, find and note the **Application (client) ID**. You use this value in your app's configuration file(s) later in your code. +1. Select **Save** to save your changes. +1. In the app's registration screen, select the **API permissions** blade in the left to open the page where we add access to the APIs that your application needs. + - Select the **Add a permission** button and then, + - Ensure that the **My APIs** tab is selected. + - In the list of APIs, select the API `ms-identity-javascript-tutorial-c4s1-api2`. + - In the **Delegated permissions** section, select the **user_impersonation** in the list. Use the search box if necessary. + - Select the **Add permissions** button at the bottom. + +#### Configure the spa app (ms-identity-javascript-tutorial-c4s1-spa) to use your app registration + +Open the project in your IDE (like Visual Studio or Visual Studio Code) to configure the code. + +> In the steps below, "ClientID" is the same as "Application ID" or "AppId". + +1. Open the `Client\App\authConfig.js` file. +1. Find the key `Enter_the_Application_Id_Here` and replace the existing value with the application ID (clientId) of `ms-identity-javascript-tutorial-c4s1-spa` app copied from the Azure portal. +1. Find the key `Enter_the_Cloud_Instance_Id_Here/Enter_the_Tenant_Info_Here` and replace the existing value with "https://login.microsoftonline.com/"+$tenantId. +1. Find the key `Enter_the_Redirect_Uri_Here` and replace the existing value with the Redirect URI for `ms-identity-javascript-tutorial-c4s1-spa`. (by default `http://localhost:3000/`). + +#### Configure Known Client Applications for service2 (ms-identity-javascript-tutorial-c4s1-api2) + +For a middle-tier web API (`ms-identity-javascript-tutorial-c4s1-api2`) to be able to call a downstream web API, the middle-tier app needs to be granted the required permissions as well. However, since the middle-tier cannot interact with the signed-in user, it needs to be explicitly bound to the client app in its **Azure AD** registration. This binding merges the permissions required by both the client and the middle-tier web API and presents it to the end user in a single consent dialog. The user then consent to this combined set of permissions. + +To achieve this, you need to add the **Application Id** of the client app, in the Manifest of the web API in the `knownClientApplications` property. Here's how: + +1. In the [Azure portal](https://portal.azure.com), navigate to your `ms-identity-javascript-tutorial-c4s1-api2` app registration, and select **Manifest** section. +1. In the manifest editor, change the `"knownClientApplications": []` line so that the array contains the Client ID of the client application (`ms-identity-javascript-tutorial-c4s1-spa`) as an element of the array. + + For instance: + + ```json + "knownClientApplications": ["ca8dca8d-f828-4f08-82f5-325e1a1c6428"], + ``` + +1. **Save** the changes to the manifest. + +## Running the sample + +```console + cd ms-identity-javascript-tutorial-c4s1-api1 + npm start +``` + +```console + cd ms-identity-javascript-tutorial-c4s1-api2 + npm start +``` + +```console + cd ms-identity-javascript-tutorial-c4s1-spa + npm start +``` + +## Explore the sample + +> Explain how to explore the sample. +> Insert a screenshot of the client application. + +> :information_source: Did the sample not work for you as expected? Then please reach out to us using the [GitHub Issues](../../../issues) page. + +## We'd love your feedback! + +Were we successful in addressing your learning objective? Consider taking a moment to [share your experience with us](Enter_Survey_Form_Link). + +## About the code + +> - Describe where the code uses auth libraries, or calls the graph +> - Describe specific aspects (e.g. caching, validation etc.) + +## More information + +- [Microsoft identity platform (Azure Active Directory for developers)](https://docs.microsoft.com/azure/active-directory/develop/) +- [Overview of Microsoft Authentication Library (MSAL)](https://docs.microsoft.com/azure/active-directory/develop/msal-overview) +- [Quickstart: Register an application with the Microsoft identity platform (Preview)](https://docs.microsoft.com/azure/active-directory/develop/quickstart-register-app) +- [Quickstart: Configure a client application to access web APIs (Preview)](https://docs.microsoft.com/azure/active-directory/develop/quickstart-configure-app-access-web-apis) +- [Understanding Azure AD application consent experiences](https://docs.microsoft.com/azure/active-directory/develop/application-consent-experience) +- [Understand user and admin consent](https://docs.microsoft.com/azure/active-directory/develop/howto-convert-app-to-be-multi-tenant#understand-user-and-admin-consent) +- [Application and service principal objects in Azure Active Directory](https://docs.microsoft.com/azure/active-directory/develop/app-objects-and-service-principals) +- [National Clouds](https://docs.microsoft.com/azure/active-directory/develop/authentication-national-cloud#app-registration-endpoints) +- [MSAL code samples](https://docs.microsoft.com/azure/active-directory/develop/sample-v2-code) +- [Initialize client applications using MSAL.js](https://docs.microsoft.com/azure/active-directory/develop/msal-js-initializing-client-applications) +- [Single sign-on with MSAL.js](https://docs.microsoft.com/azure/active-directory/develop/msal-js-sso) +- [Handle MSAL.js exceptions and errors](https://docs.microsoft.com/azure/active-directory/develop/msal-handling-exceptions?tabs=javascript) +- [Logging in MSAL.js applications](https://docs.microsoft.com/azure/active-directory/develop/msal-logging?tabs=javascript) +- [Pass custom state in authentication requests using MSAL.js](https://docs.microsoft.com/azure/active-directory/develop/msal-js-pass-custom-state-authentication-request) +- [Prompt behavior in MSAL.js interactive requests](https://docs.microsoft.com/azure/active-directory/develop/msal-js-prompt-behavior) +- [Use MSAL.js to work with Azure AD B2C](https://docs.microsoft.com/azure/active-directory/develop/msal-b2c-overview) + +For more information about how OAuth 2.0 protocols work in this scenario and other scenarios, see [Authentication Scenarios for Azure AD](https://docs.microsoft.com/azure/active-directory/develop/authentication-flows-app-scenarios). + +## Community Help and Support + +Use [Stack Overflow](http://stackoverflow.com/questions/tagged/msal) to get support from the community. +Ask your questions on Stack Overflow first and browse existing issues to see if someone has asked your question before. +Make sure that your questions or comments are tagged with [`azure-active-directory` `azure-ad-b2c` `ms-identity` `adal` `msal`]. + +If you find a bug in the sample, raise the issue on [GitHub Issues](../../../issues). + +To provide feedback on or suggest features for Azure Active Directory, visit [User Voice page](https://feedback.azure.com/forums/169401-azure-active-directory). + +## Contributing + +If you'd like to contribute to this sample, see [CONTRIBUTING.MD](/CONTRIBUTING.md). + +This project has adopted the [Microsoft Open Source Code of Conduct](https://opensource.microsoft.com/codeofconduct/). For more information, see the [Code of Conduct FAQ](https://opensource.microsoft.com/codeofconduct/faq/) or contact [opencode@microsoft.com](mailto:opencode@microsoft.com) with any additional questions or comments. \ No newline at end of file diff --git a/4-AdvancedGrants/2-call-api-api-ca/AppCreationScripts/sample.json b/4-AdvancedGrants/2-call-api-api-ca/AppCreationScripts/sample.json new file mode 100644 index 0000000..9a7caa4 --- /dev/null +++ b/4-AdvancedGrants/2-call-api-api-ca/AppCreationScripts/sample.json @@ -0,0 +1,144 @@ +{ + "Sample": { + "Title": "A Node.js web API secured by Azure AD and another Node.js web API on behalf of a user with conditional access", + "Level": 300, + "Client": "JavaScript SPA", + "Service": "Node.js Web Api", + "RepositoryUrl": "ms-identity-javascript-tutorial", + "Endpoint": "AAD v2.0" + }, + "AADApps": [ + { + "Id": "service1", + "Name": "ms-identity-javascript-tutorial-c4s1-api1", + "Kind": "WebApi", + "HomePage": "http://localhost:7000/api", + "Audience": "AzureADMyOrg", + "ManualSteps": [ + { + "Comment": "Navigate to the Manifest and set 'accessTokenAcceptedVersion' to '2' instead of 'null'" + } + ] + }, + { + "Id": "service2", + "Name": "ms-identity-javascript-tutorial-c4s1-api2", + "Kind": "WebApi", + "HomePage": "http://localhost:5000/api", + "Audience": "AzureADMyOrg", + "PasswordCredentials": "Auto", + "RequiredResourcesAccess": [ + { + "Resource": "service1", + "DelegatedPermissions": [ "user_impersonation" ] + } + ], + "ManualSteps": [ + { + "Comment": "Navigate to the Manifest and set 'accessTokenAcceptedVersion' to '2' instead of 'null'" + } + ] + }, + { + "Id": "spa", + "Name": "ms-identity-javascript-tutorial-c4s1-spa", + "Kind" : "SinglePageApplication", + "Audience": "AzureADMyOrg", + "HomePage": "http://localhost:3000/", + "ReplyUrls":"http://localhost:3000/", + "RequiredResourcesAccess": [ + { + "Resource": "service2", + "DelegatedPermissions": [ "user_impersonation" ] + } + ], + "ManualSteps": [ + { + "Comment": "Navigate to the Manifest page, find the 'replyUrlsWithType' section and change the type of redirect URI to 'Spa'" + } + ] + } + ], + "CodeConfiguration": [ + { + "App": "spa", + "SettingKind": "Replace", + "SettingFile": "\\..\\Client\\App\\authConfig.js", + "Mappings": [ + { + "key": "Enter_the_Application_Id_Here", + "value": ".AppId" + }, + { + "key": "Enter_the_Cloud_Instance_Id_Here/Enter_the_Tenant_Info_Here", + "value": "\"https://login.microsoftonline.com/\"+$tenantId" + }, + { + "key": "Enter_the_Redirect_Uri_Here", + "value": ".ReplyUrls" + } + ] + }, + { + "App": "spa", + "SettingKind": "Replace", + "SettingFile": "\\..\\Client\\App\\apiConfig.js", + "Mappings": [ + { + "key": "Enter_the_Web_Api_Uri_Here", + "value": "service.HomePage" + }, + { + "key": "Enter_the_Web_Api_Scope_Here", + "value": "service.Scope" + } + ] + }, + { + "App": "service1", + "SettingKind": "JSON", + "SettingFile": "\\..\\MiddletierAPI\\config.json", + "Mappings": [ + { + "key": "clientID", + "value": ".AppId" + }, + { + "key": "tenantID", + "value": "$tenantId" + }, + { + "key": "audience", + "value": ".AppId" + }, + { + "key": "clientSecret", + "value": ".AppKey" + } + ] + }, + { + "App": "service2", + "SettingKind": "JSON", + "SettingFile": "\\..\\DownstreamAPI\\config.json", + "Mappings": [ + { + "key": "clientID", + "value": ".AppId" + }, + { + "key": "tenantID", + "value": "$tenantId" + }, + { + "key": "audience", + "value": ".AppId" + }, + { + "key": "clientSecret", + "value": ".AppKey" + } + ] + } + ] + } \ No newline at end of file diff --git a/4-AdvancedGrants/2-call-api-api-ca/DownstreamAPI/config.json b/4-AdvancedGrants/2-call-api-api-ca/DownstreamAPI/config.json new file mode 100644 index 0000000..b8ad90d --- /dev/null +++ b/4-AdvancedGrants/2-call-api-api-ca/DownstreamAPI/config.json @@ -0,0 +1,20 @@ +{ + "credentials": { + "tenantID": "cbaf2168-de14-4c72-9d88-f5f05366dbef", + "clientID": "883e5e50-8089-4107-a110-84ecb93ee8e5", + "audience": "883e5e50-8089-4107-a110-84ecb93ee8e5" + }, + "resource": { + "scope": ["user_impersonation"] + }, + "metadata": { + "authority": "login.microsoftonline.com", + "discovery": ".well-known/openid-configuration", + "version": "v2.0" + }, + "settings": { + "validateIssuer": true, + "passReqToCallback": false, + "loggingLevel": "info" + } +} \ No newline at end of file diff --git a/4-AdvancedGrants/2-call-api-api-ca/DownstreamAPI/index.js b/4-AdvancedGrants/2-call-api-api-ca/DownstreamAPI/index.js new file mode 100644 index 0000000..bf7a748 --- /dev/null +++ b/4-AdvancedGrants/2-call-api-api-ca/DownstreamAPI/index.js @@ -0,0 +1,60 @@ +const express = require("express"); +const morgan = require("morgan"); +const passport = require("passport"); +const config = require('./config'); + +const BearerStrategy = require('passport-azure-ad').BearerStrategy; + +const options = { + identityMetadata: `https://${config.metadata.authority}/${config.credentials.tenantID}/${config.metadata.version}/${config.metadata.discovery}`, + issuer: `https://${config.metadata.authority}/${config.credentials.tenantID}/${config.metadata.version}`, + clientID: config.credentials.clientID, + audience: config.credentials.audience, + validateIssuer: config.settings.validateIssuer, + passReqToCallback: config.settings.passReqToCallback, + loggingLevel: config.settings.loggingLevel, + scope: config.resource.scope +}; + +const bearerStrategy = new BearerStrategy(options, (token, done) => { + // Send user info using the second argument + done(null, {}, token); + } +); + +const app = express(); + +app.use(morgan('dev')); + +app.use(passport.initialize()); + +passport.use(bearerStrategy); + +// enable CORS (for testing only -remove in production/deployment) +app.use((req, res, next) => { + res.header("Access-Control-Allow-Origin", "*"); + res.header("Access-Control-Allow-Headers", "Authorization, Origin, X-Requested-With, Content-Type, Accept"); + next(); +}); + +// API endpoint exposed +app.get("/api", + passport.authenticate('oauth-bearer', {session: false}), + (req, res) => { + console.log('Validated claims: ', req.authInfo); + + // Service relies on the name claim. + res.status(200).json({ + 'name': req.authInfo['name'], + 'issued-by': req.authInfo['iss'], + 'issued-for': req.authInfo['aud'], + 'scope': req.authInfo['scp'] + }); + } +); + +const port = process.env.PORT || 7000; + +app.listen(port, () => { + console.log("Listening on port " + port); +}); diff --git a/4-AdvancedGrants/2-call-api-api-ca/DownstreamAPI/package.json b/4-AdvancedGrants/2-call-api-api-ca/DownstreamAPI/package.json new file mode 100644 index 0000000..12ff5e9 --- /dev/null +++ b/4-AdvancedGrants/2-call-api-api-ca/DownstreamAPI/package.json @@ -0,0 +1,38 @@ +{ + "name": "ms-identity-javascript-c3s1-api", + "version": "1.0.0", + "description": "---\r page_type: sample\r description: \"This sample demonstrates how to protect a Node.js web API with Azure AD using the Passport.js library.\"\r languages:\r - javascript\r - nodejs\r products:\r - azure\r - azure-active-directory\r urlFragment: nodejs-web-api-azure-ad\r ---", + "author": "derisen", + "license": "ISC", + "engines": { + "node": ">=6.9.1" + }, + "scripts": { + "start": "node index.js", + "dev": "nodemon index.js" + }, + "dependencies": { + "express": "^4.14.0", + "morgan": "^1.10.0", + "passport": "^0.3.2", + "passport-azure-ad": "^4.2.1" + }, + "main": "index.js", + "repository": { + "type": "git", + "url": "git+https://github.com/Azure-Samples/ms-identity-javascript-tutorial.git" + }, + "keywords": [ + "azure-ad", + "ms-identity", + "node", + "api" + ], + "bugs": { + "url": "https://github.com/Azure-Samples/ms-identity-javascript-tutorial/issues" + }, + "homepage": "https://github.com/Azure-Samples/ms-identity-javascript-tutorial#readme", + "devDependencies": { + "nodemon": "^2.0.4" + } +} diff --git a/4-AdvancedGrants/2-call-api-api-ca/DownstreamAPI/process.json b/4-AdvancedGrants/2-call-api-api-ca/DownstreamAPI/process.json new file mode 100644 index 0000000..fafd490 --- /dev/null +++ b/4-AdvancedGrants/2-call-api-api-ca/DownstreamAPI/process.json @@ -0,0 +1,13 @@ + { + "name" : "worker", + "script" : "./index.js", + "instances" : 1, + "merge_logs" : true, + "log_date_format" : "YYYY-MM-DD HH:mm Z", + "watch": true, + "watch_options": { + "followSymlinks": true, + "usePolling" : true, + "interval" : 5 + } + } diff --git a/4-AdvancedGrants/2-call-api-api-ca/MiddletierAPI/config.json b/4-AdvancedGrants/2-call-api-api-ca/MiddletierAPI/config.json new file mode 100644 index 0000000..2640149 --- /dev/null +++ b/4-AdvancedGrants/2-call-api-api-ca/MiddletierAPI/config.json @@ -0,0 +1,15 @@ +{ + "tenantName": "msaltestingjs.onmicrosoft.com", + "tenantID": "cbaf2168-de14-4c72-9d88-f5f05366dbef", + "clientID": "b4dde70f-2141-414c-b76c-11b9f1abc943", + "clientSecret": "ae_bEuW~aB2.Pg0AQ80b25JI_1yWE5-OT0", + "audience": "b4dde70f-2141-414c-b76c-11b9f1abc943", + "resourceUri": "http://localhost:7000/api", + "resourceScope": [ "api://883e5e50-8089-4107-a110-84ecb93ee8e5/user_impersonation" ], + "authority": "login.microsoftonline.com", + "version": "v2.0", + "discovery": ".well-known/openid-configuration", + "validateIssuer": true, + "passReqToCallback": false, + "loggingLevel": "info" +} \ No newline at end of file diff --git a/4-AdvancedGrants/2-call-api-api-ca/MiddletierAPI/index.js b/4-AdvancedGrants/2-call-api-api-ca/MiddletierAPI/index.js new file mode 100644 index 0000000..ca5b09b --- /dev/null +++ b/4-AdvancedGrants/2-call-api-api-ca/MiddletierAPI/index.js @@ -0,0 +1,126 @@ +const express = require("express"); +const morgan = require("morgan"); +const passport = require("passport"); +const fetch = require('node-fetch'); +const config = require('./config.json'); + +const BearerStrategy = require('passport-azure-ad').BearerStrategy; + +const options = { + identityMetadata: `https://${config.authority}/${config.tenantID}/${config.version}/${config.discovery}`, + issuer: `https://${config.authority}/${config.tenantID}/${config.version}`, + clientID: config.clientID, + validateIssuer: config.validateIssuer, + audience: config.audience, + loggingLevel: config.loggingLevel, + passReqToCallback: config.passReqToCallback, +}; + +const bearerStrategy = new BearerStrategy(options, (token, done) => { + done(null, {}, token); +}); + +const app = express(); + +app.use(morgan('dev')); + +app.use(passport.initialize()); + +passport.use(bearerStrategy); + +// Enable CORS (for local testing only -remove in production/deployment) +app.use((req, res, next) => { + res.header('Access-Control-Allow-Origin', '*'); + res.header('Access-Control-Allow-Headers', 'Authorization, Origin, X-Requested-With, Content-Type, Accept'); + next(); +}); + +// This is where your API methods are exposed +app.get('/api', passport.authenticate('oauth-bearer', { session: false }), + async (req, res) => { + console.log('Validated claims: ', JSON.stringify(req.authInfo)); + + // the access token the user sent + const userToken = req.get('authorization'); + + try { + // request new token and use it to call resource API on user's behalf + let tokenObj = await getNewAccessToken(userToken); + + if (tokenObj['error_codes']) { + + /** + * Conditional access MFA requirement generates AADSTS50076 error. + * If this occurs, sample middle-tier API will propagate this to client + * For more, visit: https://docs.microsoft.com/azure/active-directory/develop/v2-conditional-access-dev-guide + */ + + if (tokenObj['error_codes'].includes(50076)) { + return res.status(401).json(tokenObj); + } + } + + // access the resource with the token + let apiResponse = await callResourceAPI(tokenObj['access_token'], config.resourceUri) + + res.status(200).json(apiResponse); + } catch (error) { + console.log(error) + return res.status(500).json(error); + } + } +); + +// present the token sent from client to AAD in order to receive a new token +async function getNewAccessToken(userToken) { + + const [bearer, tokenValue] = userToken.split(' '); + + // AAD token endpoint + const tokenEndpoint = `https://${config.authority}/${config.tenantName}/oauth2/${config.version}/token`; + + let myHeaders = new fetch.Headers(); + myHeaders.append('Content-Type', 'application/x-www-form-urlencoded'); + + let urlencoded = new URLSearchParams(); + urlencoded.append('grant_type', 'urn:ietf:params:oauth:grant-type:jwt-bearer'); + urlencoded.append('client_id', config.clientID); + urlencoded.append('client_secret', config.clientSecret); + urlencoded.append('assertion', tokenValue); + urlencoded.append('scope', ...config.resourceScope); + urlencoded.append('requested_token_use', 'on_behalf_of'); + + let options = { + method: 'POST', + headers: myHeaders, + body: urlencoded, + }; + + let response = await fetch(tokenEndpoint, options); + let json = response.json(); + + return json; +} + +async function callResourceAPI(newTokenValue, resourceURI) { + + let options = { + method: 'GET', + headers: { + 'Authorization': `Bearer ${newTokenValue}`, + 'Content-type': 'application/json', + 'Accept': 'application/json', + 'Accept-Charset': 'utf-8' + }, + }; + + let response = await fetch(resourceURI, options); + let json = await response.json(); + return json; +} + +const port = process.env.PORT || 5000; + +app.listen(port, () => { + console.log("Listening on port " + port); +}); diff --git a/4-AdvancedGrants/2-call-api-api-ca/MiddletierAPI/package.json b/4-AdvancedGrants/2-call-api-api-ca/MiddletierAPI/package.json new file mode 100644 index 0000000..81423cc --- /dev/null +++ b/4-AdvancedGrants/2-call-api-api-ca/MiddletierAPI/package.json @@ -0,0 +1,39 @@ +{ + "name": "ms-identity-javascript-tutorial-c4s1-api", + "version": "1.0.0", + "description": "---\r page_type: sample\r description: \"This sample demonstrates how to protect a Node.js web API with Azure AD using the Passport.js library.\"\r languages:\r - javascript\r - nodejs\r products:\r - azure\r - azure-active-directory\r urlFragment: nodejs-web-api-azure-ad\r ---", + "author": "derisen", + "license": "ISC", + "engines": { + "node": ">=6.9.1" + }, + "scripts": { + "start": "node index.js", + "dev": "nodemon index.js" + }, + "dependencies": { + "express": "^4.14.0", + "morgan": "^1.10.0", + "node-fetch": "^2.6.1", + "passport": "^0.3.2", + "passport-azure-ad": "^4.2.1" + }, + "main": "index.js", + "repository": { + "type": "git", + "url": "git+https://github.com/Azure-Samples/ms-identity-javascript-tutorial.git" + }, + "keywords": [ + "azure-ad", + "ms-identity", + "node", + "api" + ], + "bugs": { + "url": "https://github.com/Azure-Samples/ms-identity-javascript-tutorial/issues" + }, + "homepage": "https://github.com/Azure-Samples/ms-identity-javascript-tutorial#readme", + "devDependencies": { + "nodemon": "^2.0.4" + } +} diff --git a/4-AdvancedGrants/2-call-api-api-ca/MiddletierAPI/process.json b/4-AdvancedGrants/2-call-api-api-ca/MiddletierAPI/process.json new file mode 100644 index 0000000..fafd490 --- /dev/null +++ b/4-AdvancedGrants/2-call-api-api-ca/MiddletierAPI/process.json @@ -0,0 +1,13 @@ + { + "name" : "worker", + "script" : "./index.js", + "instances" : 1, + "merge_logs" : true, + "log_date_format" : "YYYY-MM-DD HH:mm Z", + "watch": true, + "watch_options": { + "followSymlinks": true, + "usePolling" : true, + "interval" : 5 + } + } diff --git a/4-AdvancedGrants/2-call-api-api-ca/README-incremental.md b/4-AdvancedGrants/2-call-api-api-ca/README-incremental.md new file mode 100644 index 0000000..e69de29 diff --git a/4-AdvancedGrants/2-call-api-api-ca/README.md b/4-AdvancedGrants/2-call-api-api-ca/README.md new file mode 100644 index 0000000..798d553 --- /dev/null +++ b/4-AdvancedGrants/2-call-api-api-ca/README.md @@ -0,0 +1,366 @@ +--- +page_type: sample +languages: + - javascript +products: + - nodejs + - msal-js + - azure-active-directory +name: A Node.js web API secured by Azure AD and calling another Node.js web API downstream on behalf of a user with conditional access +urlFragment: ms-identity-javascript-tutorial +description: "This sample demonstrates a JavaScript SPA calling a Node.js Web Api that is secured using Azure AD" +--- +# A Node.js web API secured by Azure AD and calling another Node.js web API downstream on behalf of a user with conditional access + + 1. [Overview](#overview) + 1. [Scenario](#scenario) + 1. [Contents](#contents) + 1. [Prerequisites](#prerequisites) + 1. [Setup](#setup) + 1. [Registration](#registration) + 1. [Running the sample](#running-the-sample) + 1. [Explore the sample](#explore-the-sample) + 1. [About the code](#about-the-code) + 1. [More information](#more-information) + 1. [Community Help and Support](#community-help-and-support) + 1. [Contributing](#contributing) + +![Build badge](https://identitydivision.visualstudio.com/_apis/public/build/definitions/a7934fdd-dcde-4492-a406-7fad6ac00e17//badge) + +## Overview + +ENTER OVERVIEW + +## Scenario + +1. The client uses the **MSAL.js** to sign-in and obtain a **JWT** access token from **Azure AD**. +1. The access token is used as a *bearer token* to authorize the user to call the **middle-tier web API** protected by **Azure AD**. +1. The **middle-tier web API** presents the token sent from client to **Azure AD** in order to receive a new token to call the **downstream web API**. +1. Because the **downstream web API** has a **conditional access** policy enabled (MFA), it generates a **claims challenge** and sends it back. +1. The **middle-tier web API** propagates the **claims challenge** back to client, which triggers an **interactive** token request. + +![Overview](./ReadmeFiles/topology.png) + +## Contents + +| File/folder | Description | +|-------------------|--------------------------------------------| +| `CHANGELOG.md` | List of changes to the sample. | +| `CONTRIBUTING.md` | Guidelines for contributing to the sample. | +| `LICENSE` | The license for the sample. | + +## Prerequisites + +- [Node.js](https://nodejs.org/en/download/) must be installed to run this sample. +- A modern web browser. This sample uses **ES6** conventions and will not run on **Internet Explorer**. +- [Visual Studio Code](https://code.visualstudio.com/download) is recommended for running and editing this sample. +- [VS Code Azure Tools](https://marketplace.visualstudio.com/items?itemName=ms-vscode.vscode-node-azure-pack) extension is recommended for interacting with Azure through VS Code Interface. +- An **Azure AD** tenant. For more information see: [How to get an Azure AD tenant](https://docs.microsoft.com/azure/active-directory/develop/quickstart-create-new-tenant) +- A user account in your **Azure AD** tenant. This sample will not work with a **personal Microsoft account**. Therefore, if you signed in to the [Azure portal](https://portal.azure.com) with a personal account and have never created a user account in your directory before, you need to do that now. + +- An account supporting Conditional Access + +## Setup + +### Step 1: Clone or download this repository + +From your shell or command line: + +```console + git clone https://github.com/Azure-Samples/ms-identity-javascript-tutorial.git +``` + +or download and extract the repository .zip file. + +> :warning: To avoid path length limitations on Windows, we recommend cloning into a directory near the root of your drive. + +### Step 2: Install project dependencies + +```console + cd ms-identity-javascript-tutorial-c4s1-api1 + npm install +``` + +```console + cd ms-identity-javascript-tutorial-c4s1-api2 + npm install +``` + +```console + cd ms-identity-javascript-tutorial-c4s1-spa + npm install +``` + +### Register the sample application(s) with your Azure Active Directory tenant + +There are three projects in this sample. Each needs to be separately registered in your Azure AD tenant. To register these projects, you can: + +- follow the steps below for manually register your apps +- or use PowerShell scripts that: + - **automatically** creates the Azure AD applications and related objects (passwords, permissions, dependencies) for you. + - modify the projects' configuration files. + +
+ Expand this section if you want to use this automation: + +> :warning: If you have never used **Azure AD Powershell** before, we recommend you go through the [App Creation Scripts](./AppCreationScripts/AppCreationScripts.md) once to ensure that your environment is prepared correctly for this step. + +1. On Windows, run PowerShell as **Administrator** and navigate to the root of the cloned directory +1. If you have never used Azure AD Powershell before, we recommend you go through the [App Creation Scripts](./AppCreationScripts/AppCreationScripts.md) once to ensure that your environment is prepared correctly for this step. +1. In PowerShell run: + + ```PowerShell + Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope Process -Force + ``` + +1. Run the script to create your Azure AD application and configure the code of the sample application accordingly. +1. In PowerShell run: + + ```PowerShell + cd .\AppCreationScripts\ + .\Configure.ps1 + ``` + + > Other ways of running the scripts are described in [App Creation Scripts](./AppCreationScripts/AppCreationScripts.md) + > The scripts also provide a guide to automated application registration, configuration and removal which can help in your CI/CD scenarios. + +
+ +### Choose the Azure AD tenant where you want to create your applications + +As a first step you'll need to: + +1. Sign in to the [Azure portal](https://portal.azure.com). +1. If your account is present in more than one Azure AD tenant, select your profile at the top right corner in the menu on top of the page, and then **switch directory** to change your portal session to the desired Azure AD tenant. + +### Register the service1 app (ms-identity-javascript-tutorial-c4s1-api1) + +1. Navigate to the [Azure portal](https://portal.azure.com) and select the **Azure AD** service. +1. Select the **App Registrations** blade on the left, then select **New registration**. +1. In the **Register an application page** that appears, enter your application's registration information: + - In the **Name** section, enter a meaningful application name that will be displayed to users of the app, for example `ms-identity-javascript-tutorial-c4s1-api1`. + - Under **Supported account types**, select **Accounts in this organizational directory only**. +1. Select **Register** to create the application. +1. In the app's registration screen, find and note the **Application (client) ID**. You use this value in your app's configuration file(s) later in your code. +1. Select **Save** to save your changes. +1. In the app's registration screen, select the **Expose an API** blade to the left to open the page where you can declare the parameters to expose this app as an API for which client applications can obtain [access tokens](https://docs.microsoft.com/azure/active-directory/develop/access-tokens) for. +The first thing that we need to do is to declare the unique [resource](https://docs.microsoft.com/azure/active-directory/develop/v2-oauth2-auth-code-flow) URI that the clients will be using to obtain access tokens for this Api. To declare an resource URI, follow the following steps: + - Select `Set` next to the **Application ID URI** to generate a URI that is unique for this app. + - For this sample, accept the proposed Application ID URI (`api://{clientId}`) by selecting **Save**. +1. All APIs have to publish a minimum of one [scope](https://docs.microsoft.com/azure/active-directory/develop/v2-oauth2-auth-code-flow#request-an-authorization-code) for the client's to obtain an access token successfully. To publish a scope, follow the following steps: + - Select **Add a scope** button open the **Add a scope** screen and Enter the values as indicated below: + - For **Scope name**, use `user_impersonation`. + - Select **Admins and users** options for **Who can consent?**. + - For **Admin consent display name** type `Access ms-identity-javascript-tutorial-c4s1-api1`. + - For **Admin consent description** type `Allows the app to access ms-identity-javascript-tutorial-c4s1-api1 as the signed-in user.` + - For **User consent display name** type `Access ms-identity-javascript-tutorial-c4s1-api1`. + - For **User consent description** type `Allow the application to access ms-identity-javascript-tutorial-c4s1-api1 on your behalf.` + - Keep **State** as **Enabled**. + - Select the **Add scope** button on the bottom to save this scope. + +#### Configure the service1 app (ms-identity-javascript-tutorial-c4s1-api1) to use your app registration + +Open the project in your IDE (like Visual Studio or Visual Studio Code) to configure the code. + +> In the steps below, "ClientID" is the same as "Application ID" or "AppId". + +1. Open the `MiddletierAPI\config.json` file. +1. Find the key `clientID` and replace the existing value with the application ID (clientId) of `ms-identity-javascript-tutorial-c4s1-api1` app copied from the Azure portal. +1. Find the key `tenantID` and replace the existing value with your Azure AD tenant ID. +1. Find the key `audience` and replace the existing value with the application ID (clientId) of `ms-identity-javascript-tutorial-c4s1-api1` app copied from the Azure portal. +1. Find the key `clientSecret` and replace the existing value with the key you saved during the creation of `ms-identity-javascript-tutorial-c4s1-api1` copied from the Azure portal. + +### Register the service2 app (ms-identity-javascript-tutorial-c4s1-api2) + +1. Navigate to the [Azure portal](https://portal.azure.com) and select the **Azure AD** service. +1. Select the **App Registrations** blade on the left, then select **New registration**. +1. In the **Register an application page** that appears, enter your application's registration information: + - In the **Name** section, enter a meaningful application name that will be displayed to users of the app, for example `ms-identity-javascript-tutorial-c4s1-api2`. + - Under **Supported account types**, select **Accounts in this organizational directory only**. +1. Select **Register** to create the application. +1. In the app's registration screen, find and note the **Application (client) ID**. You use this value in your app's configuration file(s) later in your code. +1. Select **Save** to save your changes. +1. In the app's registration screen, select the **Certificates & secrets** blade in the left to open the page where we can generate secrets and upload certificates. +1. In the **Client secrets** section, select **New client secret**: + - Type a key description (for instance `app secret`), + - Select one of the available key durations (**In 1 year**, **In 2 years**, or **Never Expires**) as per your security posture. + - The generated key value will be displayed when you select the **Add** button. Copy the generated value for use in the steps later. + - You'll need this key later in your code's configuration files. This key value will not be displayed again, and is not retrievable by any other means, so make sure to note it from the Azure portal before navigating to any other screen or blade. +1. In the app's registration screen, select the **API permissions** blade in the left to open the page where we add access to the APIs that your application needs. + - Select the **Add a permission** button and then, + - Ensure that the **My APIs** tab is selected. + - In the list of APIs, select the API `ms-identity-javascript-tutorial-c4s1-api1`. + - In the **Delegated permissions** section, select the **user_impersonation** in the list. Use the search box if necessary. + - Select the **Add permissions** button at the bottom. +1. In the app's registration screen, select the **Expose an API** blade to the left to open the page where you can declare the parameters to expose this app as an API for which client applications can obtain [access tokens](https://docs.microsoft.com/azure/active-directory/develop/access-tokens) for. +The first thing that we need to do is to declare the unique [resource](https://docs.microsoft.com/azure/active-directory/develop/v2-oauth2-auth-code-flow) URI that the clients will be using to obtain access tokens for this Api. To declare an resource URI, follow the following steps: + - Select `Set` next to the **Application ID URI** to generate a URI that is unique for this app. + - For this sample, accept the proposed Application ID URI (`api://{clientId}`) by selecting **Save**. +1. All APIs have to publish a minimum of one [scope](https://docs.microsoft.com/azure/active-directory/develop/v2-oauth2-auth-code-flow#request-an-authorization-code) for the client's to obtain an access token successfully. To publish a scope, follow the following steps: + - Select **Add a scope** button open the **Add a scope** screen and Enter the values as indicated below: + - For **Scope name**, use `user_impersonation`. + - Select **Admins and users** options for **Who can consent?**. + - For **Admin consent display name** type `Access ms-identity-javascript-tutorial-c4s1-api2`. + - For **Admin consent description** type `Allows the app to access ms-identity-javascript-tutorial-c4s1-api2 as the signed-in user.` + - For **User consent display name** type `Access ms-identity-javascript-tutorial-c4s1-api2`. + - For **User consent description** type `Allow the application to access ms-identity-javascript-tutorial-c4s1-api2 on your behalf.` + - Keep **State** as **Enabled**. + - Select the **Add scope** button on the bottom to save this scope. + +#### Configure the service2 app (ms-identity-javascript-tutorial-c4s1-api2) to use your app registration + +Open the project in your IDE (like Visual Studio or Visual Studio Code) to configure the code. + +> In the steps below, "ClientID" is the same as "Application ID" or "AppId". + +1. Open the `DownstreamAPI\config.json` file. +1. Find the key `clientID` and replace the existing value with the application ID (clientId) of `ms-identity-javascript-tutorial-c4s1-api2` app copied from the Azure portal. +1. Find the key `tenantID` and replace the existing value with your Azure AD tenant ID. +1. Find the key `audience` and replace the existing value with the application ID (clientId) of `ms-identity-javascript-tutorial-c4s1-api2` app copied from the Azure portal. +1. Find the key `clientSecret` and replace the existing value with the key you saved during the creation of `ms-identity-javascript-tutorial-c4s1-api2` copied from the Azure portal. + +### Register the spa app (ms-identity-javascript-tutorial-c4s1-spa) + +1. Navigate to the [Azure portal](https://portal.azure.com) and select the **Azure AD** service. +1. Select the **App Registrations** blade on the left, then select **New registration**. +1. In the **Register an application page** that appears, enter your application's registration information: + - In the **Name** section, enter a meaningful application name that will be displayed to users of the app, for example `ms-identity-javascript-tutorial-c4s1-spa`. + - Under **Supported account types**, select **Accounts in this organizational directory only**. + - In the **Redirect URI (optional)** section, select **Single-page application** in the combo-box and enter the following redirect URI: `http://localhost:3000/`. +1. Select **Register** to create the application. +1. In the app's registration screen, find and note the **Application (client) ID**. You use this value in your app's configuration file(s) later in your code. +1. Select **Save** to save your changes. +1. In the app's registration screen, select the **API permissions** blade in the left to open the page where we add access to the APIs that your application needs. + - Select the **Add a permission** button and then, + - Ensure that the **My APIs** tab is selected. + - In the list of APIs, select the API `ms-identity-javascript-tutorial-c4s1-api2`. + - In the **Delegated permissions** section, select the **user_impersonation** in the list. Use the search box if necessary. + - Select the **Add permissions** button at the bottom. + +#### Configure the spa app (ms-identity-javascript-tutorial-c4s1-spa) to use your app registration + +Open the project in your IDE (like Visual Studio or Visual Studio Code) to configure the code. + +> In the steps below, "ClientID" is the same as "Application ID" or "AppId". + +1. Open the `Client\App\authConfig.js` file. +1. Find the key `Enter_the_Application_Id_Here` and replace the existing value with the application ID (clientId) of `ms-identity-javascript-tutorial-c4s1-spa` app copied from the Azure portal. +1. Find the key `Enter_the_Cloud_Instance_Id_Here/Enter_the_Tenant_Info_Here` and replace the existing value with "https://login.microsoftonline.com/"+$tenantId. +1. Find the key `Enter_the_Redirect_Uri_Here` and replace the existing value with the Redirect URI for `ms-identity-javascript-tutorial-c4s1-spa`. (by default `http://localhost:3000/`). + +#### Configure Known Client Applications for service2 (ms-identity-javascript-tutorial-c4s1-api2) + +For a middle-tier web API (`ms-identity-javascript-tutorial-c4s1-api2`) to be able to call a downstream web API, the middle-tier app needs to be granted the required permissions as well. However, since the middle-tier cannot interact with the signed-in user, it needs to be explicitly bound to the client app in its **Azure AD** registration. This binding merges the permissions required by both the client and the middle-tier web API and presents it to the end user in a single consent dialog. The user then consent to this combined set of permissions. + +To achieve this, you need to add the **Application Id** of the client app, in the Manifest of the web API in the `knownClientApplications` property. Here's how: + +1. In the [Azure portal](https://portal.azure.com), navigate to your `ms-identity-javascript-tutorial-c4s1-api2` app registration, and select **Manifest** section. +1. In the manifest editor, change the `"knownClientApplications": []` line so that the array contains the Client ID of the client application (`ms-identity-javascript-tutorial-c4s1-spa`) as an element of the array. + + For instance: + + ```json + "knownClientApplications": ["ca8dca8d-f828-4f08-82f5-325e1a1c6428"], + ``` + +1. **Save** the changes to the manifest. + +### Enable Conditional Access for the downstream web API + +1. Inside the **Azure Active Directory** window, select the **Conditional Access** button near the bottom of the list under **Security**. + +![CA1](./ReadmeFiles/ca1.png) +![CA2](./ReadmeFiles/ca2.png) + +2. Select **New Policy** and name your policy. + +![CA3](./ReadmeFiles/ca3.png) + +3. Select the **Users and groups** button, select **All Users** in the **Include** tab. + +![CA4](./ReadmeFiles/ca4.png) + +4. Select the **Cloud apps**, then hit the **Select apps** radio button in the **Include** tab, and select the `ms-identity-javascript-tutorial-c4s1-api1`. + +![CA5](./ReadmeFiles/ca5.png) + +5. Finally, select the **Grant** button and hit **Grant access**. Then check the **Require multi-factor authentication** option. + +![CA6](./ReadmeFiles/ca6.png) + +6. Enable the policy and save. Access to your web API now requires multi-factor authentication! + +## Running the sample + +```console + cd ms-identity-javascript-tutorial-c4s1-api1 + npm start +``` + +```console + cd ms-identity-javascript-tutorial-c4s1-api2 + npm start +``` + +```console + cd ms-identity-javascript-tutorial-c4s1-spa + npm start +``` + +## Explore the sample + +1. Open your browser and navigate to `http://localhost:3000`. +1. Click the **sign-in** button on the top right corner. +1. Once you authenticate, click the **Call API** button at the center, which will result in **MFA required** screen. + +> :information_source: Did the sample not work for you as expected? Then please reach out to us using the [GitHub Issues](../../../issues) page. + +![Screenshot](./ReadmeFiles/screenshot.png) + +## We'd love your feedback! + +Were we successful in addressing your learning objective? Consider taking a moment to [share your experience with us](Enter_Survey_Form_Link). + +## About the code + +### Handling conditional access claims challenge + +> - Describe where the code uses auth libraries, or calls the graph +> - Describe specific aspects (e.g. caching, validation etc.) + +## More information + +- [Microsoft identity platform (Azure Active Directory for developers)](https://docs.microsoft.com/azure/active-directory/develop/) +- [Overview of Microsoft Authentication Library (MSAL)](https://docs.microsoft.com/azure/active-directory/develop/msal-overview) +- [Quickstart: Register an application with the Microsoft identity platform (Preview)](https://docs.microsoft.com/azure/active-directory/develop/quickstart-register-app) +- [Quickstart: Configure a client application to access web APIs (Preview)](https://docs.microsoft.com/azure/active-directory/develop/quickstart-configure-app-access-web-apis) +- [Understanding Azure AD application consent experiences](https://docs.microsoft.com/azure/active-directory/develop/application-consent-experience) +- [Understand user and admin consent](https://docs.microsoft.com/azure/active-directory/develop/howto-convert-app-to-be-multi-tenant#understand-user-and-admin-consent) +- [Application and service principal objects in Azure Active Directory](https://docs.microsoft.com/azure/active-directory/develop/app-objects-and-service-principals) +- [National Clouds](https://docs.microsoft.com/azure/active-directory/develop/authentication-national-cloud#app-registration-endpoints) +- [MSAL code samples](https://docs.microsoft.com/azure/active-directory/develop/sample-v2-code) +- [Initialize client applications using MSAL.js](https://docs.microsoft.com/azure/active-directory/develop/msal-js-initializing-client-applications) +- [Single sign-on with MSAL.js](https://docs.microsoft.com/azure/active-directory/develop/msal-js-sso) +- [Handle MSAL.js exceptions and errors](https://docs.microsoft.com/azure/active-directory/develop/msal-handling-exceptions?tabs=javascript) +- [Logging in MSAL.js applications](https://docs.microsoft.com/azure/active-directory/develop/msal-logging?tabs=javascript) +- [Pass custom state in authentication requests using MSAL.js](https://docs.microsoft.com/azure/active-directory/develop/msal-js-pass-custom-state-authentication-request) +- [Prompt behavior in MSAL.js interactive requests](https://docs.microsoft.com/azure/active-directory/develop/msal-js-prompt-behavior) +- [Use MSAL.js to work with Azure AD B2C](https://docs.microsoft.com/azure/active-directory/develop/msal-b2c-overview) + +For more information about how OAuth 2.0 protocols work in this scenario and other scenarios, see [Authentication Scenarios for Azure AD](https://docs.microsoft.com/azure/active-directory/develop/authentication-flows-app-scenarios). + +## Community Help and Support + +Use [Stack Overflow](http://stackoverflow.com/questions/tagged/msal) to get support from the community. +Ask your questions on Stack Overflow first and browse existing issues to see if someone has asked your question before. +Make sure that your questions or comments are tagged with [`azure-active-directory` `azure-ad-b2c` `ms-identity` `adal` `msal`]. + +If you find a bug in the sample, raise the issue on [GitHub Issues](../../../issues). + +To provide feedback on or suggest features for Azure Active Directory, visit [User Voice page](https://feedback.azure.com/forums/169401-azure-active-directory). + +## Contributing + +If you'd like to contribute to this sample, see [CONTRIBUTING.MD](/CONTRIBUTING.md). + +This project has adopted the [Microsoft Open Source Code of Conduct](https://opensource.microsoft.com/codeofconduct/). For more information, see the [Code of Conduct FAQ](https://opensource.microsoft.com/codeofconduct/faq/) or contact [opencode@microsoft.com](mailto:opencode@microsoft.com) with any additional questions or comments. \ No newline at end of file diff --git a/4-AdvancedGrants/2-call-api-api-ca/ReadmeFiles/ca1.png b/4-AdvancedGrants/2-call-api-api-ca/ReadmeFiles/ca1.png new file mode 100644 index 0000000000000000000000000000000000000000..5230a60a2691c05ce9ac49d724d2dcc79fbcd933 GIT binary patch literal 79805 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

xB*a81oZa^cu@tSqsgjA*8*Ik)|Y{!R0Y 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 literal 0 HcmV?d00001 diff --git a/4-AdvancedGrants/2-call-api-api-ca/ReadmeFiles/ca3.png b/4-AdvancedGrants/2-call-api-api-ca/ReadmeFiles/ca3.png new file mode 100644 index 0000000000000000000000000000000000000000..4b940b5fdbb7b4f906251957f1d456089c6769a1 GIT binary patch literal 48846 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 z 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

s;p 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%0AL{V0t}Lu#6;S)+a+ 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
    yh*-()E_gUom5cZ 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 * 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

    DW;ZT}W7UoAH0sQ@g=MWF;8Q?JmHABCgL90am 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 ?VRlw!JM2G?hD9I|C4s`L<2B_4 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 literal 0 HcmV?d00001 diff --git a/4-AdvancedGrants/2-call-api-api-ca/ReadmeFiles/ca6.png b/4-AdvancedGrants/2-call-api-api-ca/ReadmeFiles/ca6.png new file mode 100644 index 0000000000000000000000000000000000000000..c52445d6021cd01c03c00a8b504f4e6983705b88 GIT binary patch literal 76677 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%0AnkXp!2n&c%(nnF(ig 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%0D-N*cQ102sEC2? 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 H#P7cW<|&0= literal 0 HcmV?d00001 diff --git a/4-AdvancedGrants/2-call-api-api-ca/ReadmeFiles/topology.png b/4-AdvancedGrants/2-call-api-api-ca/ReadmeFiles/topology.png new file mode 100644 index 0000000000000000000000000000000000000000..2e58e64f9f85783c1e477b1a10c4f2df2ffb5b18 GIT binary patch literal 31451 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 literal 0 HcmV?d00001 diff --git a/4-AdvancedGrants/2-call-api-api-ca/SPA/App/api.js b/4-AdvancedGrants/2-call-api-api-ca/SPA/App/api.js new file mode 100644 index 0000000..9ecc012 --- /dev/null +++ b/4-AdvancedGrants/2-call-api-api-ca/SPA/App/api.js @@ -0,0 +1,46 @@ +function callApi(endpoint, token) { + + const headers = new Headers(); + const bearer = `Bearer ${token}`; + + headers.append("Authorization", bearer); + + const options = { + method: "GET", + headers: headers + }; + + logMessage('Calling Web API...'); + + fetch(endpoint, options) + .then(response => response.json()) + .then(response => { + + console.log(response); + + // check for any errors + if (response['error_codes']) { + + /** + * Conditional access MFA requirement generates AADSTS50076 error. + * If this occurs, sample middle-tier API will propagate this to client + * For more, visit: https://docs.microsoft.com/azure/active-directory/develop/v2-conditional-access-dev-guide + */ + if (response['error_codes'].includes(50076)) { + + // attach the stringified JSON claims challenge to token request + tokenRequest.claims = response['claims']; + + // calls the MSAL.js acquireToken* API + passTokenToApi(); + } + } else { + // if no errors, display user name + logMessage('Web API responded: Hello ' + response['name'] + '!'); + } + + return response; + }).catch(error => { + console.error(error); + }); + } \ No newline at end of file diff --git a/4-AdvancedGrants/2-call-api-api-ca/SPA/App/apiConfig.js b/4-AdvancedGrants/2-call-api-api-ca/SPA/App/apiConfig.js new file mode 100644 index 0000000..21f152e --- /dev/null +++ b/4-AdvancedGrants/2-call-api-api-ca/SPA/App/apiConfig.js @@ -0,0 +1,5 @@ +// Add here the endpoints and scopes for the web API you would like to use. +const apiConfig = { + uri: "http://localhost:5000/api", // e.g. http://localhost:5000/api + scopes: [ "api://b4dde70f-2141-414c-b76c-11b9f1abc943/.default" ] // e.g. [api//middle_tier_api_client_id/.default] +}; diff --git a/4-AdvancedGrants/2-call-api-api-ca/SPA/App/authConfig.js b/4-AdvancedGrants/2-call-api-api-ca/SPA/App/authConfig.js new file mode 100644 index 0000000..1c90f27 --- /dev/null +++ b/4-AdvancedGrants/2-call-api-api-ca/SPA/App/authConfig.js @@ -0,0 +1,35 @@ +/** + * Configuration object to be passed to MSAL instance on creation. + * For a full list of MSAL.js configuration parameters, visit: + * https://github.com/AzureAD/microsoft-authentication-library-for-js/blob/dev/lib/msal-browser/docs/configuration.md + */ +const msalConfig = { + auth: { + clientId: "3b4c804e-af20-46e8-9d36-3fbaa6e077a9", + authority: "https://login.microsoftonline.com/cbaf2168-de14-4c72-9d88-f5f05366dbef", + redirectUri: "http://localhost:3000", + }, + cache: { + cacheLocation: "localStorage", // This configures where your cache will be stored + storeAuthStateInCookie: false, // Set this to "true" if you are having issues on IE11 or Edge + }, +}; + +/** + * Scopes you add here will be prompted for user consent during sign-in. + * By default, MSAL.js will add OIDC scopes (openid, profile, email) to any login request. + * For more information about OIDC scopes, visit: + * https://docs.microsoft.com/en-us/azure/active-directory/develop/v2-permissions-and-consent#openid-connect-scopes + */ +const loginRequest = { + scopes: ["openid", "profile"] +}; + +/** + * Scopes you add here will be used to request a token from Azure AD to be used for accessing a protected resource. + * To learn more about how to work with scopes and resources, see: + * https://github.com/AzureAD/microsoft-authentication-library-for-js/blob/dev/lib/msal-browser/docs/resources-and-scopes.md + */ +const tokenRequest = { + scopes: [...apiConfig.scopes], +}; diff --git a/4-AdvancedGrants/2-call-api-api-ca/SPA/App/authPopup.js b/4-AdvancedGrants/2-call-api-api-ca/SPA/App/authPopup.js new file mode 100644 index 0000000..6f62866 --- /dev/null +++ b/4-AdvancedGrants/2-call-api-api-ca/SPA/App/authPopup.js @@ -0,0 +1,113 @@ +// create the main myMSALObj instance +// configuration parameters are located at authConfig.js +const myMSALObj = new msal.PublicClientApplication(msalConfig); + +let username = ""; + +function selectAccount () { + + /** + * See here for more info on account retrieval: + * https://github.com/AzureAD/microsoft-authentication-library-for-js/blob/dev/lib/msal-common/docs/Accounts.md + */ + + const currentAccounts = myMSALObj.getAllAccounts(); + + if (!currentAccounts || currentAccounts.length < 1) { + return; + } else if (currentAccounts.length > 1) { + // Add your account choosing logic here + console.log("Multiple accounts detected."); + } else if (currentAccounts.length === 1) { + username = currentAccounts[0].username; + welcomeUser(username); + } +} + +function handleResponse(response) { + console.log(response); + /** + * To see the full list of response object properties, visit: + * https://github.com/AzureAD/microsoft-authentication-library-for-js/blob/dev/lib/msal-browser/docs/request-response-object.md#response + */ + + if (response !== null) { + username = response.account.username; + welcomeUser(username); + } else { + selectAccount(); + } +} + +function signIn() { + + /** + * You can pass a custom request object below. This will override the initial configuration. For more information, visit: + * https://github.com/AzureAD/microsoft-authentication-library-for-js/blob/dev/lib/msal-browser/docs/request-response-object.md#request + */ + + myMSALObj.loginPopup(loginRequest) + .then(handleResponse) + .catch(error => { + console.log(error); + }); +} + +function signOut() { + + /** + * You can pass a custom request object below. This will override the initial configuration. For more information, visit: + * https://github.com/AzureAD/microsoft-authentication-library-for-js/blob/dev/lib/msal-browser/docs/request-response-object.md#request + */ + + // Choose which account to logout from by passing a username. + const logoutRequest = { + account: myMSALObj.getAccountByUsername(username) + }; + + myMSALObj.logout(logoutRequest); +} + +selectAccount(); + +function getTokenPopup(request) { + + /** + * See here for more information on account retrieval: + * https://github.com/AzureAD/microsoft-authentication-library-for-js/blob/dev/lib/msal-common/docs/Accounts.md + */ + + request.account = myMSALObj.getAccountByUsername(username); + + return myMSALObj.acquireTokenSilent(request) + .catch(error => { + console.log(error); + console.log("silent token acquisition fails. acquiring token using popup"); + if (error instanceof msal.InteractionRequiredAuthError) { + // fallback to interaction when silent call fails + return myMSALObj.acquireTokenPopup(request) + .then(response => { + console.log(response); + return response; + }).catch(error => { + console.log(error); + }); + } else { + console.log(error); + } + }); +} + +function passTokenToApi() { + getTokenPopup(tokenRequest) + .then(response => { + if (response) { + console.log("access_token acquired at: " + new Date().toString()); + try { + callApi(apiConfig.uri, response.accessToken); + } catch(error) { + console.log(error); + } + } + }); +} \ No newline at end of file diff --git a/4-AdvancedGrants/2-call-api-api-ca/SPA/App/authRedirect.js b/4-AdvancedGrants/2-call-api-api-ca/SPA/App/authRedirect.js new file mode 100644 index 0000000..eb46932 --- /dev/null +++ b/4-AdvancedGrants/2-call-api-api-ca/SPA/App/authRedirect.js @@ -0,0 +1,103 @@ +// create the main myMSALObj instance +// configuration parameters are located at authConfig.js +const myMSALObj = new msal.PublicClientApplication(msalConfig); + +let username = ""; + +myMSALObj.handleRedirectPromise() + .then(handleResponse) + .catch(error => { + console.log(error); + }); + +function selectAccount () { + + /** + * See here for more information on account retrieval: + * https://github.com/AzureAD/microsoft-authentication-library-for-js/blob/dev/lib/msal-common/docs/Accounts.md + */ + + const currentAccounts = myMSALObj.getAllAccounts(); + + if (!currentAccounts || currentAccounts.length < 1) { + return; + } else if (currentAccounts.length > 1) { + // Add your account choosing logic here + console.log("Multiple accounts detected."); + } else if (currentAccounts.length === 1) { + username = currentAccounts[0].username; + welcomeUser(username); + } +} + +function handleResponse(response) { + + /** + * To see the full list of response object properties, visit: + * https://github.com/AzureAD/microsoft-authentication-library-for-js/blob/dev/lib/msal-browser/docs/request-response-object.md#response + */ + + if (response !== null) { + username = response.account.username; + welcomeUser(username); + } else { + selectAccount(); + } +} + +function signIn() { + + /** + * You can pass a custom request object below. This will override the initial configuration. For more information, visit: + * https://github.com/AzureAD/microsoft-authentication-library-for-js/blob/dev/lib/msal-browser/docs/request-response-object.md#request + */ + + myMSALObj.loginRedirect(loginRequest); +} + +function signOut() { + + /** + * You can pass a custom request object below. This will override the initial configuration. For more information, visit: + * https://github.com/AzureAD/microsoft-authentication-library-for-js/blob/dev/lib/msal-browser/docs/request-response-object.md#request + */ + + // Choose which account to logout from by passing a username. + const logoutRequest = { + account: myMSALObj.getAccountByUsername(username) + }; + + myMSALObj.logout(logoutRequest); +} + +function getTokenRedirect(request) { + + /** + * See here for more info on account retrieval: + * https://github.com/AzureAD/microsoft-authentication-library-for-js/blob/dev/lib/msal-common/docs/Accounts.md + */ + + request.account = myMSALObj.getAccountByUsername(username); + + return myMSALObj.acquireTokenSilent(request) + .catch(error => { + console.log(error); + console.log("silent token acquisition fails. acquiring token using popup"); + if (error instanceof msal.InteractionRequiredAuthError) { + // fallback to interaction when silent call fails + return myMSALObj.acquireTokenRedirect(request); + } else { + console.log(error); + } + }); +} + +// Acquires and access token and then passes it to the API call +function passTokenToApi() { + getTokenRedirect(tokenRequest) + .then(response => { + callApi(apiConfig.uri, response.accessToken); + }).catch(error => { + console.log(error); + }); +} \ No newline at end of file diff --git a/4-AdvancedGrants/2-call-api-api-ca/SPA/App/favicon.svg b/4-AdvancedGrants/2-call-api-api-ca/SPA/App/favicon.svg new file mode 100644 index 0000000..1284553 --- /dev/null +++ b/4-AdvancedGrants/2-call-api-api-ca/SPA/App/favicon.svg @@ -0,0 +1,23 @@ + + + + + + + + + + + + + + + Icon-identity-221 + + + + + + + + diff --git a/4-AdvancedGrants/2-call-api-api-ca/SPA/App/index.html b/4-AdvancedGrants/2-call-api-api-ca/SPA/App/index.html new file mode 100644 index 0000000..19856df --- /dev/null +++ b/4-AdvancedGrants/2-call-api-api-ca/SPA/App/index.html @@ -0,0 +1,57 @@ + + + + + + Azure AD | Vanilla JavaScript SPA + + + + + + + + + + + + +

    +
    +
    Vanilla JavaScript single-page application secured with MSAL.js
    +
    +
    + +
    +
    OAuth 2.0 on-behalf-of flow with conditional access
    +
    +
    Sign-in with the Microsoft identity platform
    +
    
    +        
    +      
    +
    + + + + + + + + + + + + + + + + + diff --git a/4-AdvancedGrants/2-call-api-api-ca/SPA/App/ui.js b/4-AdvancedGrants/2-call-api-api-ca/SPA/App/ui.js new file mode 100644 index 0000000..06d0a4a --- /dev/null +++ b/4-AdvancedGrants/2-call-api-api-ca/SPA/App/ui.js @@ -0,0 +1,24 @@ +// Select DOM elements to work with +const signInButton = document.getElementById('signIn'); +const signOutButton = document.getElementById('signOut') +const titleDiv = document.getElementById('title-div'); +const welcomeDiv = document.getElementById('welcome-div'); +const tableDiv = document.getElementById('table-div'); +const tableBody = document.getElementById('table-body-div'); +const callApiButton = document.getElementById('callApiButton'); +const response = document.getElementById("response"); +const label = document.getElementById('label'); + +function welcomeUser(username) { + label.classList.add('d-none'); + signInButton.classList.add('d-none'); + signOutButton.classList.remove('d-none'); + titleDiv.classList.add('d-none'); + welcomeDiv.classList.remove('d-none'); + welcomeDiv.innerHTML = `Welcome ${username}!` + callApiButton.classList.remove('d-none'); +} + +function logMessage(s) { + response.appendChild(document.createTextNode('\n' + s + '\n')); +} \ No newline at end of file diff --git a/4-AdvancedGrants/2-call-api-api-ca/SPA/package.json b/4-AdvancedGrants/2-call-api-api-ca/SPA/package.json new file mode 100644 index 0000000..82a3c89 --- /dev/null +++ b/4-AdvancedGrants/2-call-api-api-ca/SPA/package.json @@ -0,0 +1,41 @@ +{ + "name": "ms-identity-javascript-tutorial-c4s1-spa", + "version": "1.0.0", + "description": "JavaScript SPA calling a custom web API with MSAL.js 2.x using the auth code flow with PKCE", + "main": "server.js", + "scripts": { + "start": "node server.js", + "dev": "nodemon server.js" + }, + "repository": { + "type": "git", + "url": "git+https://github.com/Azure-Samples/ms-identity-javascript-tutorial.git" + }, + "keywords": [ + "javascript", + "msal", + "authorization", + "code", + "authentication", + "microsoft", + "ms-identity", + "azure-ad", + "spa", + "node.js", + "msal.js" + ], + "author": "", + "license": "MIT", + "bugs": { + "url": "https://github.com/Azure-Samples/ms-identity-javascript-tutorial/issues" + }, + "homepage": "https://github.com/Azure-Samples/ms-identity-javascript-tutorial#readme", + "dependencies": { + "express": "^4.17.1", + "morgan": "^1.10.0", + "yargs": "^15.3.1" + }, + "devDependencies": { + "nodemon": "^2.0.3" + } +} diff --git a/4-AdvancedGrants/2-call-api-api-ca/SPA/server.js b/4-AdvancedGrants/2-call-api-api-ca/SPA/server.js new file mode 100644 index 0000000..a20f8ad --- /dev/null +++ b/4-AdvancedGrants/2-call-api-api-ca/SPA/server.js @@ -0,0 +1,26 @@ +const express = require('express'); +const morgan = require('morgan'); +const path = require('path'); + +const DEFAULT_PORT = process.env.PORT || 3000; + +// initialize express. +const app = express(); + +// Initialize variables. +let port = DEFAULT_PORT; + +// Configure morgan module to log all requests. +app.use(morgan('dev')); + +// Setup app folders. +app.use(express.static('App')); + +// Set up a route for index.html +app.get('*', (req, res) => { + res.sendFile(path.join(__dirname + '/index.html')); +}); + +// Start the server. +app.listen(port); +console.log(`Listening on port ${port}...`); \ No newline at end of file