Earn a 50% discount on the DP-600 certification exam by completing the Fabric 30 Days to Learn It challenge.
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?