Workloads/Fabric.ps1
function Connect-MSCloudLoginFabric { [CmdletBinding()] param() $InformationPreference = 'SilentlyContinue' $ProgressPreference = 'SilentlyContinue' $source = 'Connect-MSCloudLoginFabric' if ($Script:MSCloudLoginConnectionProfile.Fabric.AuthenticationType -eq 'ServicePrincipalWithThumbprint') { Add-MSCloudLoginAssistantEvent -Message "Attempting to connect to Fabric using AAD App {$ApplicationID}" -Source $source try { Connect-MSCloudLoginFabricWithCertificateThumbprint $Script:MSCloudLoginConnectionProfile.Fabric.ConnectedDateTime = [System.DateTime]::Now.ToString() $Script:MSCloudLoginConnectionProfile.Fabric.Connected = $true $Script:MSCloudLoginConnectionProfile.Fabric.MultiFactorAuthentication = $false Add-MSCloudLoginAssistantEvent -Message "Successfully connected to Fabric using AAD App {$ApplicationID}" -Source $source } catch { throw $_ } } else { throw 'Specified authentication method is not supported.' } } function Connect-MSCloudLoginFabricWithCertificateThumbprint { [CmdletBinding()] param() $ProgressPreference = 'SilentlyContinue' $source = 'Connect-MSCloudLoginFabricWithCertificateThumbprint' try { Add-MSCloudLoginAssistantEvent -Message 'Attempting to connect to Fabric using CertificateThumbprint' -Source $source $request = Get-AuthToken -AuthorizationUrl $Script:MSCloudLoginConnectionProfile.Fabric.AuthorizationUrl ` -CertificateThumbprint $Script:MSCloudLoginConnectionProfile.Fabric.CertificateThumbprint ` -TenantId $Script:MSCloudLoginConnectionProfile.Fabric.TenantId ` -ClientId $Script:MSCloudLoginConnectionProfile.Fabric.ApplicationId ` -Scope $Script:MSCloudLoginConnectionProfile.Fabric.Scope $Script:MSCloudLoginConnectionProfile.Fabric.AccessToken = 'Bearer ' + $request.access_token Add-MSCloudLoginAssistantEvent -Message 'Successfully connected to the Fabric API using Certificate Thumbprint' -Source $source } catch { throw $_ } } |