title: What is the exact difference between native app and web app in Azure Active Directory
body: <p>When we register an application in the Azure Active Directory for using graph api, I see there are two types of application Web application and Native application. </p>
  
  <p>While creating web application there are two values requested  1. Sign-on URL and 2. App ID url. What is the use of these values ? Do we required real world url or just <a href="https://localhost:randomePort">https://localhost:randomePort</a>  enough ?</p>
  
  <p>On the other hand while creating Native application, I can see only one required value 'Redirect URL'.</p>
  
  <p>I can obtain access token for web application using REST call</p>
  
  <pre><code>POST https://login.microsoftonline.com/&lt;tenant-id&gt;/oauth2/token
  
  grant_type      client_credentials
  client_id       (the client ID of the calling service application in the AD)
  client secret   (the key configured in the calling service application in the AD)
  resource        https://graph.windows.net
  </code></pre>
  
  <p><strong>But how can I obtain access token for native app using such REST call ? because there is not client secret for native appliction</strong></p>
  
  <p>Coming to permissions, for the native app, I can see only delegated permissions option available while for web app I can see application permission as well as delegated permissions option.</p>
  
  <p>One more thing, above REST call example authenticates application, How can I authenticate user using his credential using REST call ?</p>