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

Try your skills in the Power BI Dataviz World Championship! Round one ends June 26. Join now

Reply
demo
New Member

create app based service principal auth token using nodejs

I'm trying to create app based service principal authentication token using Node JS. I'm able to get token(not sure it's service principal token) able to pass in header as Auth bearer token able to get Embed URL While running embed URL getting Sign in page, what is the issue ? I'm using below code :

/*authentication.js */ 
async function getAuthenticationToken() { 
var adal = require('adal-node'); 
var AuthenticationContext = adal.AuthenticationContext; 
var context = new AuthenticationContext(authorityUrl); context.acquireTokenWithClientCredentials(config.resourceUrl,config.appId,config.clientSecret, function(err, tokenResponse){
 if (err) reject(" ~ "+err);
 resolve(tokenResponse); 
}) 
}
 /* index.js */ 
var auth = require(__dirname +'/authentication.js'); 
tokenResponse = await auth.getAuthenticationToken(); 
var token = tokenResponse.accessToken; 
var resd = await utils.sendGetReportRequestAsync(requestParams.url, requestParams.options); 
var embed = resd.embedUrl+"&autoAuth=true";
1 REPLY 1
v-xicai
Community Support
Community Support

Hi @demo ,

 

You may refer to the link: https://powerbi.microsoft.com/en-us/blog/pbie-nodejs-sdk/.

 

If you still have this issue for Power BI, you'd better create a support ticket in Power BI Support to get further help.

 

Best Regards,

Amy

 

If this post helps, then please consider Accept it as the solution to help the other members find it more quickly.

Helpful resources

Announcements
Fabric Data Days is here Carousel

Fabric Data Days 2026

Don't miss out on Data Days, June 15 through August 7. Learn Fabric, Power BI, SQL, AI and more.

Power BI DataViz World Championships carousel

Power BI DataViz World Championships - June 2026

A new Power BI DataViz World Championship is coming this June! Don't miss out on submitting your entry.