oneDrive for business - Deamon应用程序身份验证无效

时间:2016-03-02 11:09:51

标签: java azure oauth-2.0 onedrive

permissions configured in AAD 我是Azure的新手,也是onedrive的业务。我正在开发一个工具,使用 java 获取数据并发布到 onedrive for business 帐户。我的问题是这个工具没有得到用户的同意。因此,我需要在oauth 2.0规范中描述Deamon应用程序流/服务到服务应用程序(客户端凭证流)。 我需要知道的第一件事是Deamon应用程序和服务应用程序服务是否相同?

其次,当我按照上述文档进行尝试时,我可以获得访问令牌,当我尝试访问oneDrive for business API时,它会显示不支持的仅限应用令牌。响应代码 401 UnAuthorized 。有没有人试过这个。如果是,请提供详细说明。

第三,我还尝试进行基于证书的身份验证,如here所示,但未成功。我设法创建证书和更新清单。但我无法根据此程序了解如何进行身份验证。如果有人为此工作,请帮助我!?

1 个答案:

答案 0 :(得分:0)

对于第一个问题,根据我的经验,我认为Deamon应用程序应该是一种服务到服务应用程序,但不一样。原因来自https://msdn.microsoft.com/en-us/library/azure/dn645543.aspx下面的第二句话。

  

在此方案中,客户端通常是中间层Web服务,守护程序服务或网站。

第二个&第三个问题,您可以参考文档OneDrive for Business authentication and sign in向AAD注册您的应用并通过OAuth2进行身份验证。

如果您在身份验证过程中遇到任何错误,可以在https://msdn.microsoft.com/en-us/library/azure/dn645540.aspx找到错误代码的说明。

例如,Authorization Endpoint Errors401 UnAuthorized部分解释了Error Codes错误代码。

  

<强> unauthorized_client

     

不允许客户端应用程序请求授权代码。

     

当客户端应用程序未在Azure AD中注册或未添加到用户的Azure AD租户时,通常会发生这种情况。应用程序可以提示用户安装应用程序并将其添加到Azure AD。有关详细信息,请参阅Application Access

因此,请检查您在AAD上注册的申请,并确保已添加OneDrive for Business权限。

更新屏幕截图,作为在AAD上添加应用程序权限的示例。 enter image description here enter image description here