title: Graph User id property returning blank string
body: <p>I've got a php web app (hosted on Azure) using the microsoft/microsoft-graph SDK for one of my authentication providers. </p>
  
  <p>I am able to get a token and pull some of the user properties, but the 'id' value seems to be returning a blank string: </p>
  
  <pre><code>$me = $provider-&gt;get("me", $token);
  
  printf('&lt;br&gt;Hello %s!', $me['displayName']);
  printf('&lt;br&gt;First Name: %s', $me['givenName']);
  printf('&lt;br&gt;Last Name: %s', $me['surname']);
  printf('&lt;br&gt;ID: %s', $me['id']);   // returns nothing
  printf('&lt;br&gt;Email: %s', $me['userPrincipalName']);
  printf('&lt;br&gt;Country: %s', $me['country']);
  printf('&lt;br&gt;Postal Code: %s', $me['postalCode']);
  </code></pre>
  
  <p>According to the <a href="https://developer.microsoft.com/en-us/graph/docs/api-reference/v1.0/resources/user" rel="nofollow noreferrer">User reference</a>, I should be able to get the user ID value as a string. </p>
  
  <p>I am also using <code>thenetworg/oauth2-azure</code> as part of the project and the following does return a GUID. Is it the same ID that I'm looking for? The unique user ID from Graph? Or is it a different ID?</p>
  
  <pre><code>printf('&lt;br&gt;ID: %s', $resourceOwner-&gt;getId()); 
  </code></pre>
  
  <p>Ideally, I'd like to get the ID value directly from Graph like all the other properties. Is there something I'm missing that I need to do special for the ID property? (well, obviously...) Is the issue with Graph, with the php library, or something else? </p>
  
  <p>Thanks for your assistance.  </p>
  
  <hr>
  
  <p>[Update]</p>
  
  <p>OK, so backing up a step: I've got two pages: </p>
  
  <p>Page 1 has links to a number of authentication options. 
  Page 2 is a redirect from one of those options - the Microsoft Work and School option.</p>
  
  <p>Page 1 now uses the following to create the link: </p>
  
  <pre><code>$mscallbackUrl = $urlcore . '/ms-callback.php';
  $provider = new TheNetworg\OAuth2\Client\Provider\Azure([
      'clientId'      =&gt; $msAppId,
      'clentSecret'   =&gt; $msAppSecret,
      'redirectUri'   =&gt; $mscallbackUrl
  ]);
  $provider-&gt;urlAPI = "https://graph.microsoft.com/v1.0/";
  $provider-&gt;resource = "https://graph.microsoft.com/";
  
  $authUrl = $provider-&gt;getAuthorizationUrl();
  </code></pre>
  
  <p>Page 2 uses the exact same code above to set up $provider then uses the following to connect to Graph:</p>
  
  <pre><code>$token = $provider-&gt;getAccessToken('authorization_code', [
      'code' =&gt; $_GET['code']
  ]);
  
  try {
      $graph = new \Microsoft\Graph\Graph();
      $graph-&gt;setAccessToken($token-&gt;getToken());
      $me = $graph-&gt;createRequest("GET", "/me")
          -&gt;setReturnType(Model\User::class)
          -&gt;execute();
  
      printf('&lt;br&gt;Hello %s!', $me-&gt;getDisplayName());
      printf('&lt;br&gt;ID: %s', $me-&gt;id);
  </code></pre>
  
  <p>This code is failing on <code>$me = $graph-&gt;createRequest</code>
  One reference I found said it could be failing because of an issue with the token. </p>