5

Ich versuche, die Sample Graph API App nutzen das Kennwort eines Benutzers zu ändern, aber ich bin immer:ändern Azure AD B2C Benutzer Passwort mit Graph API

Fehler der Graph API Antwort Aufruf:

{ 
    "odata.error": { 
    "code": "Authorization_RequestDenied", 
    "message": { 
     "lang": "en", 
     "value": "Insufficient privileges to complete the operation." 
    } 
    } 
} 

Graph API Anfrage:

PATCH /mytenant.onmicrosoft.com/users/some-guid?api-version=1.6 HTTP/1.1 
client-request-id: ffd564d3-d716-480f-a66c-07b02b0e32ab 
date-time-utc: 2017.08.10 03:04 PM 

JSO N Datei

{ 
    "passwordProfile": { 
     "password": "Somepassword1$", 
     "forceChangePasswordNextLogin": false 
    } 
} 

ich getestet habe Aktualisierung des Benutzers displayName und das funktioniert gut.

{ 
    "displayName": "Joe Consumer" 
} 

AD Applikationsrechte

Ich habe my app permissions as described here. konfiguriert

AD App Permissions

+1

löschen können Können Sie bitte eine Korrelation hinterlassen ID + Zeitstempel von diesem Fehler? –

+0

wo ist die Korrelations-ID? https://stackoverflow.com/questions/45593823/wheres-the-correlation-id-in-the-graph-api-response – spottedmahn

+0

Ich habe es hinzugefügt. Danke für Ihre Hilfe! @DanielDobalian – spottedmahn

Antwort

2

Check out this article. Scheint, als ob es die gleichen Symptome hat.

Lösung 1:

Wenn Sie diese Fehlermeldung erhalten, wenn Sie die API aufrufen, die Berechtigungen nur gelesen enthält, Sie Berechtigungen in Azure Management Portal eingestellt haben.

  • Wechseln Sie zu Azure Management Portal, und klicken Sie auf Active Directory.
  • Wählen Sie Ihr benutzerdefiniertes AD-Verzeichnis.
  • Klicken Sie auf Anwendungen und wählen Sie Ihre Anwendung.
  • Klicken Sie auf KONFIGURIEREN und scrollen Sie nach unten zum Abschnitt "Berechtigungen für andere Anwendungen".
  • Stellen Sie erforderliche Anwendungsberechtigungen und delegierte Berechtigungen für Windows Azure Active Directory bereit.
  • Speichern Sie abschließend die Änderungen.

Lösung 2:

Wenn Sie diese Fehlermeldung erhalten, wenn Sie die API aufrufen, die delete oder reset password Operationen umfasst, das ist, weil diese Operationen die Admin-Rolle von Company Administrator erfordern. Ab sofort können Sie diese Rolle nur über die Azure AD Powershell module hinzufügen.

  1. die Dienstprinzipalsuche mit Get-MsolServicePrincipal -AppPrincipalId

    Get-MsolServicePrincipal | ft DisplayName, AppPrincipalId -AutoSize 
    
  2. Verwenden Add-MsolRoleMember es

    zu Company Administrator Rolle hinzufügen
    $clientIdApp = 'your-app-id' 
    $webApp = Get-MsolServicePrincipal –AppPrincipalId $clientIdApp 
    
    Add-MsolRoleMember -RoleName "Company Administrator" -RoleMemberType ServicePrincipal -RoleMemberObjectId $webApp.ObjectId 
    

zu Ihrem B2C Um eine Verbindung Mieter über PowerShell benötigen Sie ein lokales Administratorkonto. This blog post should help damit, siehe Abschnitt "Die Lösung".

create global admin

connect via powershell

get-msolservice principal screenshot

add role screenshot

+0

danke @Parakh! Ich denke Lösung 1 ist für das alte Portal. Bitte bestätigen. Ich sehe diese Optionen nicht in portal.azure.com – spottedmahn

+0

nvm, ich habe bestätigt, das ist für das alte Portal. Ich habe bereits "Lese- und Schreibzugriff auf Verzeichnisdaten" erteilt, wie hier beschrieben: https://docs.microsoft.com/en-us/azure/active-directory-b2c/active-directory-b2c-devquickstarts-graph-dotnet# configure-create-read-and-update-Berechtigungen-für-Ihre-Anwendung – spottedmahn

+0

Lösung 2 war die Lösung. – spottedmahn

0

unter Einstellungen versuchen, funktioniert für mich.

enter image description here

die

{ 
    "accountEnabled": true, 
    "signInNames": [ 
    { 
     "type": "emailAddress", 
     "value": "[email protected]" 
    } 
    ], 
    "creationType": "LocalAccount", 
    "displayName": "Joe Consumer", 
    "mailNickname": "joec", 
    "passwordProfile": { 
    "password": "[email protected]$$word!", 
    "forceChangePasswordNextLogin": false 
    }, 
    "passwordPolicies": "DisablePasswordExpiration", 
    "givenName": "Joe", 
} 
unter JSON Gebrauchte

Auch stellen Sie sicher, dass Sie die Anwendung zuweisen das Benutzerkonto, Rollenadministrator, die es Benutzern link here

+0

Sind Sie sicher, dass Sie ein Passwort mit diesen Einstellungen ändern können? haben Sie versucht, den Benutzer mit dem JSON oben zu aktualisieren? – spottedmahn

+0

Überprüfen Sie den JSON in der Antwort –

Verwandte Themen