From 8944072572688cad83471bbe9639d2aa907fee61 Mon Sep 17 00:00:00 2001 From: Daryl Newsholme Date: Tue, 19 Feb 2019 13:13:49 +0000 Subject: [PATCH] Fix for Acquire Token Method invocation failed because [Microsoft.IdentityModel.Clients.ActiveDirectory.AuthenticationContext] does not contain a method named 'AcquireToken'. Issue when trying on PS 5.1 with Az module. The [Microsoft.IdentityModel.Clients.ActiveDirectory.AuthenticationContext]::AquireToken() no longer exists as method and has been replaced with [Microsoft.IdentityModel.Clients.ActiveDirectory.AuthenticationContext]::AquireTokenAsync() for PS Core compatibility. --- MicrosoftAzureServiceFabric-AADHelpers/AADTool/Common.ps1 | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/MicrosoftAzureServiceFabric-AADHelpers/AADTool/Common.ps1 b/MicrosoftAzureServiceFabric-AADHelpers/AADTool/Common.ps1 index 2d23a51..344c42b 100644 --- a/MicrosoftAzureServiceFabric-AADHelpers/AADTool/Common.ps1 +++ b/MicrosoftAzureServiceFabric-AADHelpers/AADTool/Common.ps1 @@ -27,8 +27,8 @@ function GetRESTHeaders() $redirectUrl = "urn:ietf:wg:oauth:2.0:oob" $authenticationContext = New-Object Microsoft.IdentityModel.Clients.ActiveDirectory.AuthenticationContext -ArgumentList $authString, $FALSE - - $accessToken = $authenticationContext.AcquireToken($resourceUrl, $clientId, $redirectUrl, [Microsoft.IdentityModel.Clients.ActiveDirectory.PromptBehavior]::RefreshSession).AccessToken + $parameters = [Microsoft.IdentityModel.Clients.ActiveDirectory.PlatformParameters]::new([Microsoft.IdentityModel.Clients.ActiveDirectory.PromptBehavior]::RefreshSession) + $accessToken = $authenticationContext.AcquireTokenAsync($resourceUrl, $clientId, $redirectUrl, $parameters).Result.AccessToken $headers = New-Object "System.Collections.Generic.Dictionary[[String],[String]]" $headers.Add("Authorization", $accessToken) return $headers