2017-08-23 1 views
1

Ich verwende das Microsoft Graph API-Beispielprojekt. Ich kann mich gut einloggen.Microsoft Graph API - Aktualisieren des Kennworts

Ich versuche, das Kennwort des Benutzers zu aktualisieren, die in mit dem folgenden Code protokolliert:

public async Task<bool> UpdatePassword(GraphServiceClient graphClient, string newPassword) 
{ 
    User me = await graphClient.Me.Request().UpdateAsync(new User 
    { 
     PasswordProfile = new PasswordProfile 
     { 
      Password = newPassword, 
      ForceChangePasswordNextSignIn = false 
     }, 
    }); 
    return true; 
} 

Wenn ich den Code ausführen, bekomme ich folgende Fehlermeldung:

{ 
    Status: 500 
    Message: "No offeractions were provided for validating consent." 
    Internal error: "empty offerActions array." 
} 

Beliebig Idee, was ich falsch machen könnte?

Ich habe Zugriff auf alles „Benutzer“ über die Registrierung Portal App bezogen auf https://apps.dev.microsoft.com

Vielen Dank!

Antwort

0

Es gibt eine backene in ChangePassword() Funktion, die Sie für diese verwenden möchten:

await graphClient.Me.ChangePassword("current-pwd, "new-pwd").Request().PostAsync(); 
+0

Der Code, den Sie ursprünglich wirklich Reset-Code Passwort geschrieben ist - wo ein Admin-Resets/eines anderen Benutzers Passwort ändert. Bitte verwenden Sie den Vorschlag von Marc, der darauf ausgerichtet ist, dass der angemeldete Benutzer sein eigenes Passwort ändern kann (indem er sein altes Passwort und sein neues Passwort angibt). Für diesen Fall muss die App Directory.AccessAsUser.All-Berechtigung gewährt werden. –

Verwandte Themen