MSIdentityTools.psm1
Set-StrictMode -Version 2.0 [scriptblock] $MsalAuthentication = { param( [parameter(Mandatory=$true)] [object] $ClientApplication, [Parameter(Mandatory=$false)] [string[]] $Scopes ) ## Cmdlet Extention if ($ClientApplication -is [Microsoft.Identity.Client.IClientApplicationBase]) { [Microsoft.Identity.Client.IClientApplicationBase] $MsalClientApplication = $ClientApplication } elseif ($ClientApplication -is [Microsoft.Identity.Client.ApplicationOptions]) { [Microsoft.Identity.Client.IClientApplicationBase] $MsalClientApplication = $ClientApplication | Get-MsalClientApplication -CreateIfMissing } elseif ($ClientApplication -is [string]) { [Microsoft.Identity.Client.IClientApplicationBase] $MsalClientApplication = Get-MsalClientApplication -ClientId $ClientApplication -CreateIfMissing } ## Get Token if ($PSBoundParameters.ContainsKey('Scopes')) { [Microsoft.Identity.Client.AuthenticationResult] $MsalToken = $MsalClientApplication | Get-MsalToken -Scopes $PSBoundParameters['Scopes'] } else { [Microsoft.Identity.Client.AuthenticationResult] $MsalToken = $MsalClientApplication | Get-MsalToken } return $MsalToken } |