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

Register now to learn Fabric in free live sessions led by the best Microsoft experts. From Apr 16 to May 9, in English and Spanish.

Reply
kavitakashish83
New Member

Auto Sign-in to Embed Power BI report in web application

Hi All,

 

I am able to show filtered power BI reports in a web application. But I need to auto sign-in using c# to AZURE ACTIVE DIRECTORY to access power BI reports.

 

Below is my ACTIVE DIRECTORY PATH :

 

https://login.windows.net/common/oauth2/authorize/?response_type=code&client_id={Client ID}&resource=https%3a%2f%2fanalysis.windows.net%2fpowerbi%2fapi&redirect_uri=http%3a%2f%2flocalhost%3a49898%2fRedirect.aspx

 

Any suggestions/comment/ solution on this would be highly appreaciated?

 

Thanks

Kavita

1 ACCEPTED SOLUTION

@kavitakashish83

 

Then see this demo APP OWNS DATA. On license aspect, do note this approach would need Power BI premium license if you'd share your report to the users without Power BI account.

 

           // Create a user password cradentials.
            var credential = new UserPasswordCredential(Username, Password);

            // Authenticate using created credentials
            var authenticationContext = new AuthenticationContext(AuthorityUrl);
            var authenticationResult = await authenticationContext.AcquireTokenAsync(ResourceUrl, ClientId, credential);

 

View solution in original post

5 REPLIES 5
Anonymous
Not applicable

How to do same thing in .net core web api?

Eric_Zhang
Employee
Employee

@kavitakashish83

What do you mean auto sign-in here? 

 

The URL in your post would redirect you to the redirect_uri appending a code in the url.

Capture.PNG

 

in next step, you can send a POST request with the code above and get the access token.

POST /common/oauth2/token HTTP/1.1
Host: login.windows.net
Content-Type: application/x-www-form-urlencoded  

client_secret={client_secrect}&client_id={client_id}&grant_type=authorization_code&resource=https://analysis.windows.net/powerbi/api&redirect_uri={your redirect url}&code={code from above}

 

Thanks for the reply.

 

Auto Sign-in means user doesn't need to login into POWER BI Azure site.

 

Below is my complete code:

 

string redirectUri = String.Format("{0}Redirect.aspx", Properties.Settings.Default.RedirectUrl);
string authorityUri = Properties.Settings.Default.AADAuthorityUri;

// Get the auth code
string code = Request.Params.GetValues(0)[0];

// Get auth token from auth code
TokenCache TC = new TokenCache();
AuthenticationContext AC = new AuthenticationContext(authorityUri, TC);

ClientCredential cc = new ClientCredential(Properties.Settings.Default.ClientID,Properties.Settings.Default.ClientSecret);

AuthenticationResult AR = AC.AcquireTokenByAuthorizationCode(code, new Uri(redirectUri), cc);

Session[PowerBI.authResultString] = AR;
Response.Redirect("~/PowerBI.aspx", false);

 

Kindly suggest!

 

Thanks

Kavita

Anonymous
Not applicable

Hi Kavita,

Where Can I write this script? Because I am facing same probelm with login. Is it possible only in power bi permium verion?

Thanks,
Pooja

@kavitakashish83

 

Then see this demo APP OWNS DATA. On license aspect, do note this approach would need Power BI premium license if you'd share your report to the users without Power BI account.

 

           // Create a user password cradentials.
            var credential = new UserPasswordCredential(Username, Password);

            // Authenticate using created credentials
            var authenticationContext = new AuthenticationContext(AuthorityUrl);
            var authenticationResult = await authenticationContext.AcquireTokenAsync(ResourceUrl, ClientId, credential);

 

Helpful resources

Announcements
Microsoft Fabric Learn Together

Microsoft Fabric Learn Together

Covering the world! 9:00-10:30 AM Sydney, 4:00-5:30 PM CET (Paris/Berlin), 7:00-8:30 PM Mexico City

PBI_APRIL_CAROUSEL1

Power BI Monthly Update - April 2024

Check out the April 2024 Power BI update to learn about new features.

April Fabric Community Update

Fabric Community Update - April 2024

Find out what's new and trending in the Fabric Community.