Private/New-AzDoAuthHeader.ps1
function New-AzDoAuthHeader { [CmdletBinding(SupportsShouldProcess)] param ( # PAT to authenticate with the organization [Parameter()] [String] $PAT ) if ($PSCmdlet.ShouldProcess("Creating new authentication header")) { Write-Verbose "Function: New-AzDoAuthHeader" if ($PAT -eq '') { # validate if user is logged in to Azure PowerShell Write-Verbose "Using Access Token" try { if ($null -eq (Get-AzContext).Account) { Write-Error 'Please login to Azure PowerShell first' $PSCmdlet.ThrowTerminatingError($PSItem) } Write-Verbose "Getting Access Token" $script:header = @{Authorization = 'Bearer ' + (Get-AzAccessToken -Resource 499b84ac-1321-427f-aa17-267ca6975798).token } } catch { throw 'Please login to Azure PowerShell first' } } else { Write-Verbose "Using PAT" Write-Verbose "Getting Access Token" $script:header = @{Authorization = 'Basic ' + [Convert]::ToBase64String([Text.Encoding]::ASCII.GetBytes(":$($PAT)")) } } } } |