I am trying to embed a Power BI reports in to our Angular application. We are currently using Identity server to authenticate and get the security token back from Azure Active Directory. Can that token be used in embedding the Power BI reports in to our application or is it mandatory to register a application in azure which will help in embedding reports
1 Answers
You must register an application to establish an identity for your application and specify permissions. Both the access token and the app ID are used when embedding Power BI elements into your application. It is recommended for the actual embedding to also use embed token generated by GenerateTokenInGroup or similar, because the authentication token will be exposed in JavaScript client code of your application and can be seen. AAD tokens can be exploited to call other REST API functions, etc., while embed tokens are valid only for embedding this one element only and expires in less time.
For detailed information how to embed Power BI see Embed reports or dashboards from apps.
To embed Power BI without registering an application, you can use Publish to web or Embed. The first one will give public access to everyone who knows the link (note it has some limitations), while for the second option each user will need Pro account, unless you are using Power BI Premium or Embedded (and note its limitations too).