<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic Re: problem while getting authentication token for native active directory app  using .Net Core in Developer</title>
    <link>https://community.fabric.microsoft.com/t5/Developer/problem-while-getting-authentication-token-for-native-active/m-p/593442#M18065</link>
    <description>&lt;P&gt;Hi&amp;nbsp;&lt;SPAN&gt;Rohan,&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;Since we call the REST API directly, the "oauthEndpoint" is different. Please refer to the code below, which works in my test.&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;PRE&gt;        private static async Task&amp;lt;OAuthResult&amp;gt; AuthenticateAsync()
        {
            String clientId = "3a7c5ccc-***********5f";
            String authorityUrl = "https://login.microsoftonline.com/{replace_with_your_tenant_id}/oauth2/token";
            String resourceUrl = "https://analysis.windows.net/powerbi/api";
            String userName = "da*****oft.com";
            String password = "P***1";

            var oauthEndpoint = new Uri(authorityUrl);

            using (var client = new HttpClient())
            {
                var result = await client.PostAsync(oauthEndpoint, new FormUrlEncodedContent(new[]
                {
            new KeyValuePair&amp;lt;string, string&amp;gt;("resource", resourceUrl),
            new KeyValuePair&amp;lt;string, string&amp;gt;("client_id", clientId),
            new KeyValuePair&amp;lt;string, string&amp;gt;("grant_type", "password"),
            new KeyValuePair&amp;lt;string, string&amp;gt;("username", userName),
            new KeyValuePair&amp;lt;string, string&amp;gt;("password", password),
           &lt;STRIKE&gt; //new KeyValuePair&amp;lt;string, string&amp;gt;("scope", "openid"),&lt;/STRIKE&gt;
        }));

                var content = await result.Content.ReadAsStringAsync();
             
                return JsonConvert.DeserializeObject&amp;lt;OAuthResult&amp;gt;(content);
            }

        }&lt;/PRE&gt;
&lt;P&gt;1. Regarding the tenant ID, please refer to&amp;nbsp;&lt;A href="https://stackoverflow.com/questions/26384034/how-to-get-the-azure-account-tenant-id" target="_self"&gt;how-to-get-the-azure-account-tenant-id&lt;/A&gt;.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;2. Get Azure AD access token, please refer to&amp;nbsp;&lt;A href="https://docs.microsoft.com/en-us/azure/active-directory/develop/v1-protocols-oauth-code#use-the-authorization-code-to-request-an-access-token" target="_self"&gt;/azure/active-directory/develop/v1-protocols-oauth-code#use-the-authorization-code-to-request-an-access-token&lt;/A&gt;.&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Please understand that this link is provided “AS IS” with no warranties or guarantees of content changes, and confers no rights.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Best Regards,&lt;BR /&gt;Dale&lt;/P&gt;</description>
    <pubDate>Wed, 02 Jan 2019 02:33:58 GMT</pubDate>
    <dc:creator>v-jiascu-msft</dc:creator>
    <dc:date>2019-01-02T02:33:58Z</dc:date>
    <item>
      <title>problem while getting authentication token for native active directory app  using .Net Core</title>
      <link>https://community.fabric.microsoft.com/t5/Developer/problem-while-getting-authentication-token-for-native-active/m-p/590626#M17988</link>
      <description>&lt;P&gt;Hi,&lt;/P&gt;&lt;P&gt;We are working on Power BI Report embedding in .Net Core web app. We are facing issue while generating auth token for native Active Directory app registered on Azure. We can able to embed the Power Bi report in .Net 4.6 web app, but facing issue in .Net core web app.&lt;/P&gt;&lt;P&gt;To generate token we are using REST API and calling then using HTTPClient but this&amp;nbsp;its returns error as "Invaliad credentials". I have triple checked the credentials and those are correct. We follow the &lt;A title="example " href="https://community.powerbi.com/t5/Developer/Embed-Power-BI-dashboard-in-ASP-Net-core/m-p/273279#M8229" target="_blank"&gt;example&lt;/A&gt; provide here to generate token.&lt;/P&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&lt;STRONG&gt;Code snippet :&amp;nbsp;&lt;/STRONG&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;FONT color="#993300"&gt;using (var client = new HttpClient())&lt;/FONT&gt;&lt;BR /&gt;&lt;FONT color="#993300"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;/FONT&gt;&lt;BR /&gt;&lt;FONT color="#993300"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; var result = await client.PostAsync(oauthEndpoint, new FormUrlEncodedContent(new[]&lt;/FONT&gt;&lt;BR /&gt;&lt;FONT color="#993300"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;/FONT&gt;&lt;BR /&gt;&lt;FONT color="#993300"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; new KeyValuePair&amp;lt;string, string&amp;gt;("resource", ResourceUrl),&lt;/FONT&gt;&lt;BR /&gt;&lt;FONT color="#993300"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; new KeyValuePair&amp;lt;string, string&amp;gt;("client_id", "b473122eXXXXXXXXX"),&lt;/FONT&gt;&lt;BR /&gt;&lt;FONT color="#993300"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; new KeyValuePair&amp;lt;string, string&amp;gt;("grant_type", "password"),&lt;/FONT&gt;&lt;BR /&gt;&lt;FONT color="#993300"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; new KeyValuePair&amp;lt;string, string&amp;gt;("username", Username),&lt;/FONT&gt;&lt;BR /&gt;&lt;FONT color="#993300"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; new KeyValuePair&amp;lt;string, string&amp;gt;("password", Password),&lt;/FONT&gt;&lt;BR /&gt;&lt;FONT color="#993300"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; new KeyValuePair&amp;lt;string, string&amp;gt;("scope", "openid"),&lt;/FONT&gt;&lt;BR /&gt;&lt;FONT color="#993300"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }));&lt;/FONT&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;FONT color="#993300"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; var content = result.Content.ReadAsStringAsync().Result;&lt;/FONT&gt;&lt;BR /&gt;&lt;FONT color="#993300"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; return JsonConvert.DeserializeObject&amp;lt;OAuthResult&amp;gt;(content);&lt;/FONT&gt;&lt;BR /&gt;&lt;FONT color="#993300"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/FONT&gt;&lt;/DIV&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Can you please provide any alteranative or solution or pointers to get auth token for Native ADD app using .Net core.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Regards,&lt;/P&gt;&lt;P&gt;Rohan&lt;/P&gt;</description>
      <pubDate>Mon, 24 Dec 2018 05:17:50 GMT</pubDate>
      <guid>https://community.fabric.microsoft.com/t5/Developer/problem-while-getting-authentication-token-for-native-active/m-p/590626#M17988</guid>
      <dc:creator>rohanP</dc:creator>
      <dc:date>2018-12-24T05:17:50Z</dc:date>
    </item>
    <item>
      <title>Re: problem while getting authentication token for native active directory app  using .Net Core</title>
      <link>https://community.fabric.microsoft.com/t5/Developer/problem-while-getting-authentication-token-for-native-active/m-p/593442#M18065</link>
      <description>&lt;P&gt;Hi&amp;nbsp;&lt;SPAN&gt;Rohan,&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;Since we call the REST API directly, the "oauthEndpoint" is different. Please refer to the code below, which works in my test.&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;PRE&gt;        private static async Task&amp;lt;OAuthResult&amp;gt; AuthenticateAsync()
        {
            String clientId = "3a7c5ccc-***********5f";
            String authorityUrl = "https://login.microsoftonline.com/{replace_with_your_tenant_id}/oauth2/token";
            String resourceUrl = "https://analysis.windows.net/powerbi/api";
            String userName = "da*****oft.com";
            String password = "P***1";

            var oauthEndpoint = new Uri(authorityUrl);

            using (var client = new HttpClient())
            {
                var result = await client.PostAsync(oauthEndpoint, new FormUrlEncodedContent(new[]
                {
            new KeyValuePair&amp;lt;string, string&amp;gt;("resource", resourceUrl),
            new KeyValuePair&amp;lt;string, string&amp;gt;("client_id", clientId),
            new KeyValuePair&amp;lt;string, string&amp;gt;("grant_type", "password"),
            new KeyValuePair&amp;lt;string, string&amp;gt;("username", userName),
            new KeyValuePair&amp;lt;string, string&amp;gt;("password", password),
           &lt;STRIKE&gt; //new KeyValuePair&amp;lt;string, string&amp;gt;("scope", "openid"),&lt;/STRIKE&gt;
        }));

                var content = await result.Content.ReadAsStringAsync();
             
                return JsonConvert.DeserializeObject&amp;lt;OAuthResult&amp;gt;(content);
            }

        }&lt;/PRE&gt;
&lt;P&gt;1. Regarding the tenant ID, please refer to&amp;nbsp;&lt;A href="https://stackoverflow.com/questions/26384034/how-to-get-the-azure-account-tenant-id" target="_self"&gt;how-to-get-the-azure-account-tenant-id&lt;/A&gt;.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;2. Get Azure AD access token, please refer to&amp;nbsp;&lt;A href="https://docs.microsoft.com/en-us/azure/active-directory/develop/v1-protocols-oauth-code#use-the-authorization-code-to-request-an-access-token" target="_self"&gt;/azure/active-directory/develop/v1-protocols-oauth-code#use-the-authorization-code-to-request-an-access-token&lt;/A&gt;.&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Please understand that this link is provided “AS IS” with no warranties or guarantees of content changes, and confers no rights.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Best Regards,&lt;BR /&gt;Dale&lt;/P&gt;</description>
      <pubDate>Wed, 02 Jan 2019 02:33:58 GMT</pubDate>
      <guid>https://community.fabric.microsoft.com/t5/Developer/problem-while-getting-authentication-token-for-native-active/m-p/593442#M18065</guid>
      <dc:creator>v-jiascu-msft</dc:creator>
      <dc:date>2019-01-02T02:33:58Z</dc:date>
    </item>
  </channel>
</rss>

