Microsoft Graph API beta 端点给出 401 Unauthorized

Microsoft Graph API beta endpoint gives 401 Unauthorized

我正在测试向来宾用户发送加入租户邀请的 Microsoft Graph beta 终结点。我使用的端点是:

https://graph.microsoft.com/beta/invitations

Body:

 {
  "invitedUserEmailAddress": "abc@xyz.com",
  "inviteRedirectUrl": "https://myDomain"
 }

我正在通过 ADAL4J api 为本地管理员用户获得的授权 header 中传递不记名令牌。但是,此调用给我一个 401 Unauthorized 错误。以下是回复:

{
  "error": {
    "code": "InvalidAuthenticationToken",
    "message": "Access token validation failure.",
    "innerError": {
      "request-id": "91f8129e-70cc-467d-a45b-9309e55788d6",
      "date": "2017-02-10T08:46:09"
    }
  }
}

关于如何让这个请求起作用的任何线索?在 Github 上,我进行了其他讨论 (eg),其中用户面临同样的问题。

发送的令牌是通过资源“https://graph.windows.net". The expected resource/audience for Microsoft Graph API is "https://graph.microsoft.com”获得的。更新您的应用程序清单以将 Microsoft Graph 作为资源包括在内并请求所需的权限。然后用上面提到的 resource/audience.

请求令牌

我和@adarsh hegde 处于同样的境地。但我的目标是 azure B2C。 我可以获得 windows 图的令牌(使用资源“https://graph.windows.net”),并且我能够在我的 Web 应用程序中创建使用正确权限注册的用户。

我所做的是同时为 graph.microsoft.com 获取令牌,但是这个令牌不允许我使用邀请,这会给我和你一样的错误: { "error": { "code": "InvalidAuthenticationToken", "message": "Access token validation failure.", "innerError": { "request-id": "91f8129e-70cc-467d-a45b-9309e55788d6", "date": "2017-02-10T08:46:09" } } }

更新: 所以这里是我到目前为止完成的步骤:

  1. ADB2C 目录
  2. 其中注册了 OpenID 的 Web 应用程序具有在 AD 中管理用户所需的权限link
  3. admin登录后,信任模式下的Web app可以让他管理用户(create/add/etc...)
  4. 现在我想使用的是 MS 图表 (graph.microosoft.com) 的 InvitationManager 部分,以便能够发送邀请邮件。我可以兑换在 OpenIdConnectAuthenticationNotifications 中收到的代码以获取 MS 图的访问令牌吗?知道我已经这样做了,但是对于 AD 图 (graph.windows.net)

感谢您的帮助