private/Get-RHSMAuthorizationHeader.ps1
|
function Get-RHSMAuthorizationHeader { [CmdletBinding()] [OutputType([Hashtable])] param () if (-not $script:RHSMSession) { Write-Error -Message 'Not connected. Run Connect-RHSM first.' -ErrorAction Stop } # Refresh the access token shortly before it expires if ((Get-Date) -ge $script:RHSMSession.ExpiresAt.AddSeconds(-30)) { Write-Verbose -Message 'Access token expired or about to expire, refreshing.' $token = Get-RHSMAccessToken -OfflineToken $script:RHSMSession.OfflineToken $script:RHSMSession.AccessToken = $token.AccessToken $script:RHSMSession.ExpiresAt = $token.ExpiresAt } @{ 'Authorization' = 'Bearer {0}' -f ($script:RHSMSession.AccessToken | Convert-SecureStringToPlaintext) } } |