Private/Get-DpaAccessToken.ps1
function Get-DpaAccessToken { param ( [switch] $EnableException ) $authTokenUri = (Get-DpaConfig -Name 'baseuri').Value + '/security/oauth/token' $refreshToken = (Get-DpaConfig -Name 'refreshtoken').Value $request = @{ grant_type = 'refresh_token' refresh_token = $refreshToken } try { Write-PSFMessage -Level 'Verbose' -Message 'Getting an access token' $response = Invoke-RestMethod -Uri $authTokenUri -Method 'POST' -Body $request $accessToken = New-Object -TypeName 'AccessToken' -ArgumentList $response Set-PSFConfig -Module 'psdpa' -Name 'accesstoken' -Value $accessToken $PSDefaultParameterValues['Invoke-DpaRequest:AccessToken'] = $accessToken return $accessToken } catch { Stop-PSFFunction -Message "Could not obtain access token" -ErrorRecord $_ -EnableException $EnableException } } |