Как сбросить пароль пользователя в Azure AD B2C через Graph API? - PullRequest
0 голосов
/ 12 июня 2018

Как сбросить пароль пользователя с помощью Microsoft Graph API?Есть ли способ сделать это?Если да, я не могу найти способ сделать это.

Пожалуйста, дайте мне знать, как этого можно достичь?Спасибо!

Ответы [ 2 ]

0 голосов
/ 30 июля 2018

Подход, предложенный Крисом , является рекомендуемым.Как я писал в этом посте ( licenseissue ), вам также следует позаботиться о правильной настройке разрешений, поскольку вы можете изменить пароль из своего приложения, только если вы предоставите ему необходимые права.

InПоток сброса пароля не может выдать себя за пользователя, потому что у вас нет учетных данных пользователя, поэтому вы должны предоставить привилегии администратора приложению, которое выполняет вызов для других пользователей. Это означает, что вы должны доверять коду приложения и использовать еготщательно.

Я использовал, чтобы предоставить приложению роль администратора службы поддержки, которой достаточно, чтобы сменить пароль для других пользователей.С помощью этого сценария powershell:

Install-Module MSOnline
Install-Module AzureAD
Connect-MsolService
Connect-AzureAD

$applicationId = "{your app ID}"
$sp = Get-MsolServicePrincipal -AppPrincipalId $applicationId
Add-MsolRoleMember -RoleObjectId <your Role ID> -RoleMemberObjectId $sp.ObjectId -RoleMemberType servicePrincipal

Вы должны запустить этот код, используя пользователя с правами администратора в Active Directory.С помощью этой команды вы можете получить правильный roleID:

Get-AzureADDirectoryRole

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

0 голосов
/ 12 июня 2018

Вы можете сбросить пароль пользователя с помощью PATCHing объекта пользователя:

PATCH https://graph.windows.net/myorganization/users/{user_id}?api-version=1.6

{
    "passwordProfile": {
        "password": "{password}",
        "forceChangePasswordNextLogin": false
    },
    "passwordPolicies": "DisablePasswordExpiration"
}

Для получения дополнительной информации см. Сброс пароля пользователя .

...