Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/384.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何使用Graph API重置Office 365 Azure AD用户的密码?_Java_Office365_Microsoft Graph Api_Azure Ad Graph Api - Fatal编程技术网

Java 如何使用Graph API重置Office 365 Azure AD用户的密码?

Java 如何使用Graph API重置Office 365 Azure AD用户的密码?,java,office365,microsoft-graph-api,azure-ad-graph-api,Java,Office365,Microsoft Graph Api,Azure Ad Graph Api,Graph API-我们正在尝试重置office 365 azure ad用户的密码,因为它在守护程序应用程序\服务中使用客户端凭据授权流从azure ad获取访问令牌,但无法重置用户的密码。它响应“权限不足,无法完成操作”, 我已给予以下申请许可 1) User.ReadWrite.All-读取和写入所有用户的完整配置文件(应用程序+委派权限) 2) Directory.AccessAsUser.All-作为登录用户访问目录(委派权限) 我的O365应用程序是“多租户Web Api”应用程序,

Graph API-我们正在尝试重置office 365 azure ad用户的密码,因为它在守护程序应用程序\服务中使用客户端凭据授权流从azure ad获取访问令牌,但无法重置用户的密码。它响应“权限不足,无法完成操作”, 我已给予以下申请许可

1) User.ReadWrite.All-读取和写入所有用户的完整配置文件(应用程序+委派权限) 2) Directory.AccessAsUser.All-作为登录用户访问目录(委派权限)

我的O365应用程序是“多租户Web Api”应用程序,已获得管理员许可。 我的应用程序的主要目的是将用户从我的Web应用程序(用户详细信息等)同步到Azure AD。我的应用程序能够同步除密码之外的所有用户配置文件详细信息

已由租户管理员授权的守护程序服务应用程序是否可以重置组织中用户的密码

感谢当前Microsoft Graph(和AzureAD Graph)不公开任何仅应用程序权限(可由守护程序应用程序使用)来重置用户密码。这是一个特别特权的操作,很容易被滥用。只要登录用户是管理员,我们就支持在交互式委托流中使用
Directory.AccessAsUser.All
执行此操作

如果您需要应用程序权限来重置密码,请在UserVoice上请求:


希望这能有所帮助,

我也有同样的问题,花了15天时间才找到解决方案。虽然应用程序提供了权限,但无法重置用户的密码。为此,必须提供“公司管理员”角色

我遵循了接下来的步骤,它成功了:

  • 以管理员身份运行windows powershell
  • 编写下一个PowerShell cmdlet

    • 安装模块AzureAD
    • 连接AzureAD
    • $app=获取AzureADServicePrincipal-搜索字符串“AppName”
    • $role=Get AzureADDirectoryRole | Where对象{$\.DisplayName-eq“公司管理员”}
    • 添加AzureAddirectoryLember-ObjectId$role.ObjectId-ReObjectId$app.ObjectId

    注意:在AD中按应用程序的名称更改“AppName”。使用具有GlobalAdministrator权限的用户连接到AzureAD。

    我发现使用graph api无法重置联邦成员域用户的密码。但是我们可以更改非联邦域用户密码。API目前没有主动更改用户身份提供程序的密码。如果这是您需要的内容,请使用UserVoice提交此请求。请参阅我文章中的链接。这种限制的问题是,在联邦域的情况下,从IDP重置用户密码不会杀死给定用户的所有活动O365会话。