Azure active directory OneDrive业务服务帐户身份验证

Azure active directory OneDrive业务服务帐户身份验证,azure-active-directory,onedrive,azure-ad-graph-api,Azure Active Directory,Onedrive,Azure Ad Graph Api,我正在开发一个Onedrive合著应用程序。用户可以在其中共同编写文档并同步其更改。应用程序流是第一个用户发起合著的,文档将从源文件移动到Onedrive。对于后续用户,将为这些用户添加Permisson,他们直接从onedrive打开文档。因此,每个人都可以处理同一个文档,最终用户将从onedrive将其同步回源 我通过创建office 365试用帐户实现了PoC。我已经硬编码了管理员帐户用户凭据,管理员帐户将使用Microsoft Graph代表用户与Onedrive对话,并且合著工作非常完

我正在开发一个Onedrive合著应用程序。用户可以在其中共同编写文档并同步其更改。应用程序流是第一个用户发起合著的,文档将从源文件移动到Onedrive。对于后续用户,将为这些用户添加Permisson,他们直接从onedrive打开文档。因此,每个人都可以处理同一个文档,最终用户将从onedrive将其同步回源

我通过创建office 365试用帐户实现了PoC。我已经硬编码了管理员帐户用户凭据,管理员帐户将使用Microsoft Graph代表用户与Onedrive对话,并且合著工作非常完美

现在,我想为我的组织在Onedrive业务的基础上实现真正的版本。我的组织使用混合azure,以便在azure中也使用相同的onpermise用户id。我已经在Azure中创建了应用程序,创建了一个密钥(客户端机密),并为该应用程序授予了必要的权限。我面临以下问题

  • 首先,我试图传递我的onpermise凭据,但密码无效

  • 接下来,我尝试了代码流,在其中我传递了客户端id和客户端机密并获得了访问令牌。但是,当我将访问令牌传递给graph api时,我得到了代码:AccessDenied消息:令牌中需要存在scp或角色声明

  • 接下来,我创建了一个X509证书,在调用Graph API代码时出现了相同的错误:AccessDenied消息:令牌中需要存在scp或角色声明

  • 需要您的帮助/建议:我想使用管理员帐户/应用程序与onedrive交谈。因此,我将把文档移动到onedrive,并为后续用户添加权限,这必须在没有用户交互的情况下实现,即使是第一次。请帮助我克服这个问题

    谢谢


    Subbiah K

    您使用哪种客户端与文件交互?桌面/移动应用程序(公共客户端应用程序?)或Web应用程序?如果这是公共客户端应用程序,是否尝试使用?考虑到您的用户是本地用户,这应该可以工作。它的web应用程序,我想代表用户使用someservice帐户与onedrive交谈。甚至对于没有AdminApprovement用户交互的服务帐户。您可能希望查看以下示例: