Forum Discussion

Anonymous's avatar
Anonymous
Not applicable
7 years ago

How to disable multi factor authentication to use POwer BI REST API

Hi,

 

I am running a powershell script to get the refresh history of all pbi reports of respective workspaces.

Problem: I need to run the script manually, I mention here manually because whenever I run the script it ask me to validate my Microsoft account by entering the pin code (multi-factor authentication). Due to this I am not able to automate the script. I don’t know if it is possible to get authentication token without validating the account or to disable multi-factor authentication. Any suggestion would be really helpful.

Below is the code to Get authentication token:

 

$clientId = "xxxxxxxxxxxxxxxxxxxxxxxxxxxxx"

# Calls the Active Directory Authentication Library (ADAL) to authenticate against AAD

 

function GetAuthToken

{

    $adal = "${env:ProgramFiles}\WindowsPowerShell\Modules\AzureRM.profile\5.3.2\Microsoft.IdentityModel.Clients.ActiveDirectory.dll"

   

    $adalforms = "${env:ProgramFiles}\WindowsPowerShell\Modules\AzureRM.profile\5.3.2\Microsoft.IdentityModel.Clients.ActiveDirectory.WindowsForms.dll"

 

    [System.Reflection.Assembly]::LoadFrom($adal) | Out-Null

 

    [System.Reflection.Assembly]::LoadFrom($adalforms) | Out-Null

 

    $redirectUri = "https://oauth.powerbi.com/PBIAPIExplorer"

 

    $resourceAppIdURI = "https://analysis.windows.net/powerbi/api"

 

    $authority = "https://login.microsoftonline.com/common/oauth2/authorize";

 

    $authContext = New-Object "Microsoft.IdentityModel.Clients.ActiveDirectory.AuthenticationContext" -ArgumentList $authority

 

    $authResult = $authContext.AcquireToken($resourceAppIdURI, $clientId, $redirectUri, "Auto")

 

    return $authResult

}

 

# Get the auth token from AAD

$token = GetAuthToken

 

Thanks in advanced

5 Replies

  • piper's avatar
    piper
    Frequent Visitor

    Had you succeeded in disabling multi factor authentication for power bi rest api?

    • Anonymous's avatar
      Anonymous
      Not applicable

      piper,

       

      Thank you for reply, unfortunately no.

       

       

      • piper's avatar
        piper
        Frequent Visitor

        I am also stucked with same issue since couple of days.

        Can you share what work around you had used to get things working?

  • Anonymous's avatar
    Anonymous
    Not applicable

    Have you tried using Service Principal/App Registration via AAD? Make sure you assign PowerBI API Permissions for the registration and then you can get an access token for the registration