Изменение Azure AD B2C пользователя Пароль с Graph API

Обновить

November 2018

Просмотры

1.6k раз

7

Я пытаюсь использовать Sample Graph API приложение , чтобы изменить пароль пользователя, но я получаю:

Ошибка Вызов ответа API Graph:

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

Graph Request API:

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

JSON файла

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

Я проверил обновив пользователя displayNameи работает отлично.

{
    "displayName": "Joe Consumer"
}

Права доступа к AD Применение

Я настроил мои разрешения для приложения , как описано здесь.

Права доступа к AD App

2 ответы

0

Попробуйте следующие настройки, работает для меня.

введите описание изображения здесь

Используется ниже JSON

 {
  "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",
}

Также убедитесь , что вы назначаете приложение учетной записи пользователя, роль администратора , который позволит ему удалять пользователь ссылку здесь

7

Проверьте эту статью . Похоже , он имеет те же симптомы.

Решение 1:

Если вы получаете эту ошибку при вызове API, который включает в себя только для чтения разрешения, вы должны установить разрешения на Azure Management Portal.

  • Перейти к Azure Management Portal и нажмите кнопку Active Directory.
  • Выберите пользовательский каталог AD.
  • Нажмите Приложение и выберите приложение.
  • Нажмите CONFIGURE и прокрутите вниз до раздела "Права доступа к другим приложениям.
  • Обеспечение необходимых разрешений приложений и делегированные разрешения для Windows Azure Active Directory.
  • Наконец сохранить изменения.

Решение 2:

Если вы получаете эту ошибку при вызове API , который включает deleteили reset passwordоперации, то есть потому , что эти операции требуют администратор роли Company Administrator. В настоящее время, вы можете только добавить эту роль через модуль Azure AD Powershell .

  1. Найти принципала службы с помощью Get-MsolServicePrincipal -AppPrincipalId

    Get-MsolServicePrincipal | ft DisplayName, AppPrincipalId -AutoSize
    
  2. Используйте Add-MsolRoleMember , чтобы добавить его в Company Administratorроли

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

Для подключения к B2C арендатора с помощью PowerShell вам потребуется учетная запись локального администратора. Этот блог должен помочь с этим, в разделе «Решение» раздел.

создание глобального администратора

подключения через PowerShell

получить-msolservice главный скриншот

добавить скриншот роли