Private/Get-FabricApiAuthToken.ps1

function Get-FabricApiAuthToken {
    <#
    .SYNOPSIS
        Get the Fabric API authentication token
    #>

    [CmdletBinding()]
    param
    (
    )
    #$script:FabricApiUrl = "https://api.fabric.microsoft.com/v1"
    #$script:resourceUrl = "https://api.fabric.microsoft.com"

    if (!$script:fabricToken) {                
        Set-FabricApiAuthToken
    } else {
        #dodac opcje gdy token wygasnie
                
        # Check if token is valid, refresh if expired
        $isValid = Test-TokenValidity -authToken $script:fabricToken
        Write-Log "Token is valid: $isValid"
        if (-not $isValid) {
            Write-Log "Token has expired, refreshing..."

            $azContext = Get-AzContext
            Write-Log "Connnected: $($azContext.Account)"
            $script:fabricToken = (Get-AzAccessToken -ResourceUrl FabricResourceUrl -AsSecureString ).Token
    


            #$script:fabricToken = Get-FabricApiAuthToken
        }
    }
    
    Write-Output $script:fabricToken
}