And was ultimately successful in getting the page to render in Salesforce, but only after hard coding values like client_id and client_secret in the Apex Classes (there was an error in my definition of the Custom Setting that caused accessing the values to fail).
While reconstructing the provided code, one of the trouble shooting steps I took ultimately broke the embedding.
So, there are two problems.
A. The authentication token stored in Salesforce after hard-coding the client info is no longer valid (I recreated the app in AAD as another trouble shooting step)
- Despite attempts to invoke the token grant process to create a new token, I was never able to successfully overwrite the one stored
- Now I get a 403 Forbidden error in the console logs when trying to load the VisualForce page
1. I was able to successfully embed the report when the values were hard coded. This led me to believe the values in the Custom Setting were wrong so I deleted the Custom Setting and the App in AAD and recreated both, however, the issue ended up being that I named the Custom Setting 'PowerBI' instead of PowerBI. Now that the Custom Setting is named properly, Salesforce can access client_id, client_secret, etc, but the AccessToken and RefreshToken that are stored are for a different App so the authentication fails. I've been unable to overwrite the AccessToken and RefreshToken stored by Salesforce despite attempts to re-initiate the login process.
Research into how to overwrite OAuth tokens in Salesforce hasn't been fruitful so I'm hoping someone who understands the authenication process better might have some insight.
2. I have followed all of the steps in the guide. After the hard coded version worked I made sure all of the necessary parts exist within Salesforce and are named correctly.
As for B, I'll look into a support ticket for now.