Skip to main content
cancel
Showing results for 
Search instead for 
Did you mean: 

Don't miss out! 2025 Microsoft Fabric Community Conference, March 31 - April 2, Las Vegas, Nevada. Use code MSCUST for a $150 discount. Prices go up February 11th. Register now.

Reply
rodrigopizarro
New Member

Using the Power BI Authentication API returns accessToken null

I'm developing a custom visual for Power BI, and I'm trying to use the Authentication API (https://learn.microsoft.com/en-us/power-bi/developer/visuals/authentication-api). I wrote this function:

 

  const authenticate = () => {
    props.host.acquireAADTokenService.acquireAADTokenstatus().then((acquireTokenStatus) => {
      console.log('allowed?', acquireTokenStatus)
      if (acquireTokenStatus === powerbi.PrivilegeStatus.Allowed) {
        props.host.acquireAADTokenService
          .acquireAADToken()
          .then((acquireAADTokenResult: AcquireAADTokenResult) => {
            console.log('access token', acquireAADTokenResult)
            if (acquireAADTokenResult.accessToken) {
              getDatasetInfo(acquireAADTokenResult.accessToken, props.datasetId).then((createdDataset) =>
                setDataset(createdDataset),
              )
            }
          })
      }
    })
  }

 

It logs `allowed? 0`, meaning the privilege is allowed in the project, and then the accessToken is always null. I enabled the option of obtaining Entra ID tokens (https://learn.microsoft.com/en-us/fabric/admin/organizational-visuals#obtain-microsoft-entra-access-...). I also added the privileges to the project, with the url I configured in my Azure application

 

 

{
  "privileges": [
    {
      "name": "WebAccess",
      "essential": true,
      "parameters": ["*"]
    },
    {
      "name": "ExportContent",
      "essential": true
    },
    {
      "name": "AADAuthentication",
      "parameters": ["https://mywebsite.com"]
    }
  ],

 

I also added permissions in the Azure application and I tried adding localhost as a URI redirect.

 

From what I understood this should be working. What's missing?

9 REPLIES 9
pramodcog
Frequent Visitor

Oh ok, how did you manage to get access token or is their any other alternative?

Use the custom connector. It implements AAD auth.

I am very new to PowerBI and custom visual, would be helpful if you can share an example how custom connectors can be linked to custom visual for authentication, if its not an overhead!!

Sorry, my reply was for Power Query, not for custom visuals.

pramodcog
Frequent Visitor

@rodrigopizarro I am facing same issue while using Power BI Authentication API, did you manage to find a solution?

No, and I actually received a response from Microsoft saying they actually don't enable the same credentials for Power BI and for this API, so as of 6 months ago it was simply not possible. 

Oh ok, how did you manage to get access token or is their any other alternative?

You register an app in Azure that asks for the (non-delegated) permissions for whatever API calls you need to do.

 

 

I have managed to get the acces token, there were lot of setting to be done.
Now I am trying to acheive a token exchange in backend for https://login.microsoft******,  but I am blocked by the CORS error even though I have added the URL into privilages parameter in capabilities.json file.
I have read CORS limitation , is there a alternate workaround for token exchange? 

Helpful resources

Announcements
Las Vegas 2025

Join us at the Microsoft Fabric Community Conference

March 31 - April 2, 2025, in Las Vegas, Nevada. Use code MSCUST for a $150 discount! Prices go up Feb. 11th.

Jan25PBI_Carousel

Power BI Monthly Update - January 2025

Check out the January 2025 Power BI update to learn about new features in Reporting, Modeling, and Data Connectivity.

Jan NL Carousel

Fabric Community Update - January 2025

Find out what's new and trending in the Fabric community.

Top Solution Authors
Top Kudoed Authors