我计划使用Azure AD Graph API,但随后在Microsoft文档中注意到有关使用Microsoft Graph API的建议。
是否提供了更改用户密码的文档?
string result = Task.Run(async() => { return await GetAccessToken(); }).GetAwaiter().GetResult();
var graphserviceClient = new GraphServiceClient(
new DelegateAuthenticationProvider(
(requestMessage) =>
{
requestMessage.Headers.Authorization = new AuthenticationHeaderValue("bearer", result);
return Task.FromResult(0);
}));
var changePasswordRequest = graphserviceClient.Me.ChangePassword("oldpassword", "newpassword");
但我不认为这就足够了。有没有可用的文件?
答案 0 :(得分:2)
您可以更新passwordProfile
属性以更改当前用户的密码。请参考以下代码:
await graphClient.Me.Request().UpdateAsync(new User
{
PasswordProfile = new PasswordProfile
{
Password = "YourPassword",
ForceChangePasswordNextSignIn = false
},
});
根据documentation,执行此API需要以下范围之一:User.ReadWrite
User.ReadWrite.All
Directory.ReadWrite.All
。
修改强> documentation已使用以下注释更新:
更新
passwordProfile
属性时,需要以下范围:Directory.AccessAsUser.All
。
答案 1 :(得分:0)
查看此处:
如果您是从app / api调用的,则需要为该应用的服务主体分配一个AD角色。