The simplist way to embed power bi can be using a static HTML. "Registering a web-app" is to get the the accessToken that is used to embed. Here's the embeded sample .
As to the web-app, I started from this page Step 1: Register an app with Azure AD.
<html lang="en"><head> <script type="text/javascript">
window.onload = function () {
updateEmbedTile();
};
var width = 500;
var height = 500;
// update embed tile
function updateEmbedTile() {
// check if the embed url was selected
var embedTileUrl = "https://msit.powerbi.com/embed?dashboardId=f1f5155b-c6e2-4147-991b-28d914927d05&tileId=50de3c3a-2e8c-49bd-ada4-18d0b1e19415";
if ("" === embedTileUrl)
return;
// to load a tile do the following:
// 1: set the url, include size.
// 2: add a onload handler to submit the auth token
iframe = document.getElementById('iFrameEmbedTile');
iframe.src=embedTileUrl + "&width=" + width + "&height=" + height;
iframe.onload = postActionLoadTile;
}
// post the auth token to the iFrame.
function postActionLoadTile() {
// get the access token.
accessToken = "YOURTOKENHERE";
// return if no a
if ("" === accessToken)
return;
var h = height;
var w = width;
// construct the push message structure
var m = { action: "loadTile", accessToken: accessToken, height: h, width: w};
message = JSON.stringify(m);
// push the message.
iframe = document.getElementById('iFrameEmbedTile');
iframe.contentWindow.postMessage(message, "*");;
}
</script></head><body><iframe ID="iFrameEmbedTile" src="" height="500px" width="500px" frameborder="0" seamless></iframe><!-- Visual Studio Browser Link --><script type="application/json" id="__browserLink_initializationData">
{"appName":"Chrome","requestId":"ab3c9a4238164ad2bb8954672a5a9399"}</script><script type="text/javascript" src="http://localhost:37067/ed3b2d1937bc4b06bd06d5ce0d652d66/browserLink" async="async"></script><!-- End Browser Link --></body></html>