Private/Get-DuneJWTTokens.ps1

function Get-DuneJWTTokens {
    [CmdletBinding()]
    param(
        [Parameter(Mandatory)]
        [ValidateSet("Prod", "Dev","Test","Local")]
        [string]$DuneInstance,

        [Parameter(Mandatory)]
        [string]$Tenant,

        [Parameter(Mandatory)]
        [string]$TemporaryToken
    )

    $DuneApiUrl = Get-DuneApiUrl -DuneInstance $DuneInstance

    $AuthUrl = "{0}{1}" -f $DuneApiUrl, "/auth/temptoken"
    $Headers = @{
        "Accept"       = "application/json"
        "Content-Type" = "application/json"
        "X-Tenant"     = $Tenant
    }
    Write-Debug "$($MyInvocation.MyCommand)|process|Getting new session ..."
    $Response = Invoke-WebRequest -Uri $AuthUrl -Method POST -Headers $Headers -Body (@{accesstoken = $TemporaryToken} | ConvertTo-Json) -UseBasicParsing
    $ResponseContent = $Response.content | ConvertFrom-Json
    return $ResponseContent

}