【问题标题】:Microsoft Graph API - Updating passwordMicrosoft Graph API - 更新密码
【发布时间】:2018-02-01 05:52:05
【问题描述】:

我正在使用 Microsoft Graph API 示例项目。我可以正常登录。

我正在尝试使用以下代码更新登录用户的密码:

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;
}

当我执行代码时,出现以下错误:

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

知道我可能做错了什么吗?

我通过https://apps.dev.microsoft.com 的应用注册门户网站授予对所有“用户”相关的访问权限

谢谢!

【问题讨论】:

    标签: microsoft-graph-api


    【解决方案1】:

    有一个内置的 ChangePassword() 函数供您使用:

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

    【讨论】:

    • 您最初发布的代码实际上是密码重置代码 - 管理员重置/更改另一个用户的密码。请使用 Marc 的建议,该建议旨在让登录用户更改自己的密码(通过提供他们的旧密码和新密码)。目前,这需要授予应用 Directory.AccessAsUser.All 权限。
    猜你喜欢
    • 1970-01-01
    • 2018-08-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-02-09
    • 2019-05-23
    • 1970-01-01
    相关资源
    最近更新 更多