title: Reset Password through Graph API doesn't change the Password at all
body: <p>The code below doesn't change the Password at all</p>
  <p><strong>UPDATE</strong> (Added instantiation of graphClient object):</p>
  <pre><code>string clientId = Configuration[&quot;AzureAd:ClientId&quot;];
  string tenantId = Configuration[&quot;AzureAd:TenantId&quot;];
  string authority = Configuration[&quot;AzureAd:Authority&quot;]; 
  
  string[] scopes = new string[] { &quot;User.Read&quot;, &quot;Directory.AccessAsUser.All&quot;, &quot;User.Invite.All&quot; };
  
  IPublicClientApplication app = PublicClientApplicationBuilder.Create(clientId)
      .WithAuthority(authority)
      .WithTenantId(tenantId)
      .Build();
  
  var securePassword = new SecureString();
  foreach (char c in user.Password.ToCharArray())  // you should fetch the password
      securePassword.AppendChar(c);  // keystroke by keystroke
  
  var tokens = app.AcquireTokenByUsernamePassword(scopes, user.UserName, securePassword).ExecuteAsync().Result;
  
  graphClient = new GraphServiceClient(
      new DelegateAuthenticationProvider(x =&gt;
      {
          x.Headers.Authorization = new AuthenticationHeaderValue(
              &quot;Bearer&quot;, tokens.AccessToken);
  
          return Task.FromResult(0);
      }));
  </code></pre>
  <p>...</p>
  <pre><code>public async Task&lt;ActionResult&gt; ResetPassword([FromBody] JObject data)
  {
      try
      {
          await graphClient.Me
          .ChangePassword(data[&quot;currentPassword&quot;].ToString(), data[&quot;newPassword&quot;].ToString())
          .Request()
          .PostAsync();
  ...
  }
  </code></pre>
  <p>When debugging, the code runs smoothly without any error or issue.
  Normally I should login with the New Password. Sadly the Old Password is the only way to login. Is there something additionally required or another scope  I need to address (other than &quot;Directory.AccessAsUser.All&quot;) ?</p>