PublicRoot/Test-WS1AccessToken.ps1
<#
.SYNOPSIS Validating token at the WS1 Access token endpoint @Source: https://github.com/vmware/idm/wiki/Validating-Access-or-ID-Token#validating-tokens-at-the-identity-manager-token-endpoint .PARAMETER Tenant Mandatory: Mandatory: WS1Access Tenant. .PARAMETER Token Mandatory: WS1Access Token. .EXAMPLE error handlingTest-WS1AccessToken -Tenant "example.vmware.com" -Token "aBxcde34fGdssfKPsAsfdgf.eyJleHAiOjE2M....." .EXAMPLE Test-WS1AccessToken -Tenant $Token.Data.Tenant -Token $Token.Data.access_token #> Function Test-WS1AccessToken{ [cmdletbinding()] param( [Parameter(Mandatory=$true)][string]$Tenant, [Parameter(Mandatory=$true)][string]$Token ) Write-Verbose $Token $URI = "https://$($Tenant)/SAAS/API/1.0/REST/auth/token" $Header = @{ Authorization = "Bearer $($Token)" } $Body = @{ attribute = "isValid" } $IRMParams = @{ Method = 'GET' Body = $Body URI = $URI Headers = $Header } Write-Debug $($IRMParams | out-string) try { Invoke-RestMethod @IRMParams $Result = @{ "Status" = $True; "Data" = ConvertFrom-JWT -Token $Token | out-string | Format-List } } catch { Write-Verbose "$_.Exception.Message" $Result = @{ "Status" = $False; "Message" = $Error[0].Exception.Message } } Return New-Object psobject -Property $Result } |