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

Don't miss out! 2025 Microsoft Fabric Community Conference, March 31 - April 2, Las Vegas, Nevada. Use code MSCUST for a $150 discount. Prices go up February 11th. Register now.

Reply
mak82pk
Helper I
Helper I

Alternate to RedirectURL

bi.JPG

Integrate a report into an app for your organization (https://docs.microsoft.com/en-us/power-bi/developer/integrate-report)

 

I am following the above example in my MVC 5 application. I will have reports in different URLs. Therefore, I dont want to generate client id for each report  separately and assigned redirect url to get authentication code.

 

Is there any httpResponse method or way to get the authentication code for example i tried to do something...

 

  var request = (HttpWebRequest)WebRequest.CreateHttp($"{Properties.Settings.Default.AADAuthorityUri}?{queryString}");
            request.Method = "GET";
            var response = (HttpWebResponse)request.GetResponse();
            //... (initialize more fields)

            using (StreamReader sr = new StreamReader(response.GetResponseStream()))
            {
                string result = sr.ReadToEnd();
                dynamic o = JsonConvert.DeserializeObject(result);
                var token = o.code;
                //   Console.WriteLine("I got Http Status Code: {0}", response.StatusCode);
            }

 so that I can just get the token and pass it to View to display report.

1 ACCEPTED SOLUTION
Eric_Zhang
Microsoft Employee
Microsoft Employee


@mak82pk wrote:

bi.JPG

Integrate a report into an app for your organization (https://docs.microsoft.com/en-us/power-bi/developer/integrate-report)

 

I am following the above example in my MVC 5 application. I will have reports in different URLs. Therefore, I dont want to generate client id for each report  separately and assigned redirect url to get authentication code.


@mak82pk

I think you can use one registered app. Just re-direct to the different embedding pages accordingly.

                //After you get an AccessToken, you can call Power BI API operations such as Get Tile
                Session["AccessToken"] = GetAccessToken(
                    Request.Params.GetValues("code")[0],
                    Settings.Default.ClientID,
                    Settings.Default.ClientSecret,
                    Settings.Default.RedirectUrl);

                //Redirect to the embedding page
                Response.Redirect("/embeding page path");

 

By the way, for any security concern, you'd better mask the user name in the snapshot.

View solution in original post

1 REPLY 1
Eric_Zhang
Microsoft Employee
Microsoft Employee


@mak82pk wrote:

bi.JPG

Integrate a report into an app for your organization (https://docs.microsoft.com/en-us/power-bi/developer/integrate-report)

 

I am following the above example in my MVC 5 application. I will have reports in different URLs. Therefore, I dont want to generate client id for each report  separately and assigned redirect url to get authentication code.


@mak82pk

I think you can use one registered app. Just re-direct to the different embedding pages accordingly.

                //After you get an AccessToken, you can call Power BI API operations such as Get Tile
                Session["AccessToken"] = GetAccessToken(
                    Request.Params.GetValues("code")[0],
                    Settings.Default.ClientID,
                    Settings.Default.ClientSecret,
                    Settings.Default.RedirectUrl);

                //Redirect to the embedding page
                Response.Redirect("/embeding page path");

 

By the way, for any security concern, you'd better mask the user name in the snapshot.

Helpful resources

Announcements
Las Vegas 2025

Join us at the Microsoft Fabric Community Conference

March 31 - April 2, 2025, in Las Vegas, Nevada. Use code MSCUST for a $150 discount!

Jan25PBI_Carousel

Power BI Monthly Update - January 2025

Check out the January 2025 Power BI update to learn about new features in Reporting, Modeling, and Data Connectivity.

December 2024

A Year in Review - December 2024

Find out what content was popular in the Fabric community during 2024.