Private/Get-AzureAccessToken.ps1
Function Get-AzureAccessToken{ [OutputType([String])] Param ( [parameter(Mandatory=$True)] [string]$TenantId, [parameter(Mandatory=$True)] [string]$ClientId, [Parameter(Mandatory=$True)] [string]$ClientSecret, [Parameter(Mandatory=$false)] [string]$Scope ) $OAuthURI = "https://login.microsoftonline.com/$TenantId/oauth2/token" $OAuthBody=@{} $OAuthBody.Add('grant_type','client_credentials') $OAuthBody.Add('client_id',$ClientId) $OAuthBody.Add('client_secret',$ClientSecret) if ($scope) { $OAuthBody.Add('scope',$scope) } else { $OAuthBody.Add('resource','https://graph.microsoft.com') } $OAuthheaders = @{ "content-type" = "application/x-www-form-urlencoded" } $accessToken = Invoke-RESTMethod -Method 'POST' -URI $OAuthURI -Body $OAuthBody -Headers $OAuthheaders return $accessToken.access_Token <# .Synopsis Gets a session bearer token for the Azure credentials provided. .Description Takes the three required Azure credentials and returns the OAuth2 access token provided by the Microsoft Graph authentication provider. .Parameter TenantId The Directory or tenant ID of the Azure system being connected to. .Parameter ClientId The Client Id or Application ID connecting. .Parameter ClientSecret The client secret of the client / application being used to connect. .Outputs Output type [string] The text string containing the OAuth2 accessToken returned from the Azure authentication provider. .Example # Get the AccessToken for the credentials passed. $accessToken = Get-AzAccessToken -TenantId $TenantId -ClientId $ClientId -ClientSecret $ClientSecret #> } |