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-token). 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 Azure application permissions
From what I understood this should be working.
I tried adding localhost as a URI redirect.
URI redirect config
Rodrigo Pizarro is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.