【问题标题】:oneDrive for business - Deamon Application authentication not workingoneDrive for business - 守护程序应用程序身份验证不起作用
【发布时间】:2016-06-15 04:55:24
【问题描述】:

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

其次,当我按照上述文档的描述进行尝试时,我可以获得访问令牌,当我尝试访问 oneDrive for business API 时,它显示 Unsupported app only token. 哪个响应代码 401 未经授权。有没有人试过这个。如果可以,请提供详细说明。

第三,我还尝试进行基于证书的身份验证,如here 所示,但没有成功。我设法创建证书并更新清单。但我不知道如何根据这个程序进行身份验证。如果有人在这方面工作,请帮帮我!?

【问题讨论】:

  • 您肯定需要使用 OneDrive for Business 的证书来接受仅限应用的令牌。您目前是在使用某种形式的身份验证库来进行 oauth 舞蹈,还是尝试自己提出请求?
  • 是的,我正在使用证书,但找不到任何明确的文档如何使用此证书访问一个用于业务的驱动器!

标签: java azure oauth-2.0 onedrive


【解决方案1】:

对于第一个问题,根据我的经验,我认为 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 ErrorsError Codes部分解释的401 UnAuthorized错误码。

unauthorized_client

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

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

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


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

【讨论】:

  • 嗨,我添加了documentation 中所示的应用程序,但仍然出现相同的异常 - 仅应用程序令牌
  • @PradeepNeerukonda 您是否在您的 AAD 租户的应用程序的配置选项卡中添加了官方 365 管理 API 的权限?作为示例,我更新了我对屏幕截图的答案。
  • 您能否为非用户同意应用流程提出任何建议。
  • 是的,我已经添加了。请检查相关图片。
  • documentation 中描述的此客户端凭据流程是否适用于 One Drive for business。??
猜你喜欢
  • 1970-01-01
  • 2014-11-30
  • 2015-01-25
  • 1970-01-01
  • 2015-04-05
  • 2013-05-16
  • 1970-01-01
  • 2018-01-01
  • 2022-09-27
相关资源
最近更新 更多