SecretManagement.VMware.CloudFoundation.Extension/private/Update-SecretVaultAccessToken.ps1
function Update-SecretVaultAccessToken { [CmdletBinding()] param ( [string] $VaultName, [hashtable] $AdditionalParameters, [string] $Server, [Parameter(Mandatory = $true)] [ValidateNotNullOrEmpty()] [string] $RefreshToken ) $uri = ('{0}/v1/tokens/access-token/refresh' -f $Server) Write-Debug 'Refreshing access token' $request = Invoke-RestMethod -Uri $uri -Method PATCH -Headers $script:tokenHeaders -Body $RefreshToken @script:irmSplat if ($statusCode -ne '200') { switch ($statusCode) { default { throw 'Refresh token is either invalid or expired' } } } else { Write-Debug 'Refreshed access token' Set-Variable -Name ('SecretManagement_{0}_AccessToken' -f $VaultName) -Value $request -Scope Global -Force $script:headers = $script:defaultHeaders.Clone() $script:headers.Add('Authorization', ('Bearer {0}' -f (Get-Variable -Name ('SecretManagement_{0}_AccessToken' -f $VaultName) -Scope Global).Value)) } } |