繁体   English   中英

Azure AD B2C 应用程序注册图 API — 说明

[英]Azure AD B2C App Registration Graph API — Clarification

因此,我正在尝试将 Graph API 与 Azure AD B2C 一起使用。 我的理解是,在请求访问令牌时无法使用client_credentials流。 当我尝试使用带有client_credentials的访问令牌来获取/beta/policies/b2cAuthenticationMethods ,我收到此错误:

{
  "error": {
    "code": "AADB2C",
    "message": "User Authorization: Access is denied.",
    "innerError": {
      "correlationId": "4c00031f-febc-4c1a-9728-701f0c1fda00",
      "date": "2021-01-19T18:51:42",
      "request-id": "77a30adb-5103-40ec-84f3-0626800e976a",
      "client-request-id": "77a30adb-5103-40ec-84f3-0626800e976a"
    }
  }
}

这是预期的,因为我使用了 client_credentials 流程。

但是, 文档说明了以下内容:

Although the OAuth 2.0 client credentials grant flow is not currently directly supported by the Azure AD B2C authentication service, you can set up client credential flow using Azure AD and the Microsoft identity platform /token endpoint for an application in your Azure AD B2C tenant. Azure AD B2C 租户与 Azure AD 企业租户共享一些功能。

我已经完成了上面链接的过程。 但是,我遇到了一个问题,现在对这个“自动化”过程有疑问:

问题:如果我无法使用 client_credentials 流,我如何通过 B2C 中的注册应用程序完成请求和使用访问令牌的自动化流程?

当此应用程序请求访问令牌时,我无法进行任何用户交互。

我必须使用不同的流程吗? 如果是这样,我该怎么做才能使诸如 MFA 之类的事情不成问题? 我没有使用任何 SDK,我只是在我的应用程序中使用HttpClient直接查询 MGraph,并通过了Authorization Bearer header。

问题

为什么我无法完成上述链接文档的这一部分

我以 B2C 租户的全局管理员身份登录。 我导航到Roles and Administrators部分

在此处输入图像描述

然后,在左侧出现的Add Assignments弹出窗口中,我开始输入我的应用程序的名称

在此处输入图像描述

它没有出现,但它已注册:我可以在我的注册应用程序列表中看到它:

-

这里有什么交易?

我发现了许多其他类似的问题,并且都将我带到了参考文档页面。 但是,我仍然不太了解在 B2C 租户中为已注册应用程序自动获取访问令牌的正确程序。

非常感谢。

编辑

有关我在这篇文章中遇到的问题的两种解决方案,请参阅我的答案。

好的,所以我设法在这里找到了我的问题的答案。

只是出于好奇,我将我的应用程序的 ServicePrincipal 设为全局管理员。 我再次使用client_crededentials流到beta/policies/b2cAuthenticationMethodsPolicy并且仍然收到关于用户授权的上述错误:访问被拒绝。 有没有搞错? 我开始怀疑是否是那个特定的端点才是问题所在,而不是流程本身。 尤其是因为在为我的 B2C 租户使用来自client_credentials流的访问令牌时,我可以很好地获取/beta/users

好吧,我找到了我的答案。

对于我的问题:

我在此线程https://docs.microsoft.com/en-us/answers/questions/229991/azure-ad-b2c-application-won39t-show-up-as-an-opti.html上找到了答案。

对于我的问题:

我在 MSFT Docs GitHub 页面上打开了一个问题,有人能够在那里回答我的问题。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM