Pax8API/Private/Assert-Pax8Session.ps1
|
function Assert-Pax8Session { [CmdletBinding()] param ( [Parameter(Mandatory)] [string]$Audience ) $resolvedAudience = Resolve-Pax8Audience -Audience $Audience $needsToken = [string]::IsNullOrWhiteSpace($script:Pax8Session.AccessToken) $needsToken = $needsToken -or $script:Pax8Session.ExpiresAt -le [datetimeoffset]::UtcNow.AddMinutes(5) $needsToken = $needsToken -or $script:Pax8Session.Audience -ne $resolvedAudience if (-not $needsToken) { return } if ($script:Pax8Session.Credential) { Connect-Pax8 -Credential $script:Pax8Session.Credential -Audience $resolvedAudience -BaseUri $script:Pax8Session.BaseUri -TokenUri $script:Pax8Session.TokenUri | Out-Null return } throw "Not connected to Pax8. Run Connect-Pax8 first, or set PAX8_CLIENT_ID and PAX8_CLIENT_SECRET before connecting." } |