首页 > 解决方案 > Azure AD B2C 资源所有者密码凭据身份验证

问题描述

在我的应用程序中,我想使用资源所有者密码凭据流调用 Azure Web API。我已经为我的 Web API 实现了 Azure AD b2c Auth。我在 Azure 中创建了 2 个应用程序,一个用于 Web API,一个用于 ROPC 的本机客户端应用程序。我在 ROPC 应用程序中提供了 WEB Api Access。我关注了这篇文章并从 ROPC 应用程序中获得了 Token。但是当我将我的 ROPC 令牌传递给 Web API 时,我得到 401。我不知道如何在 ROPC 令牌请求中传递我的 Web api 范围的范围。任何帮助,将不胜感激

提前致谢, Subbiah K

标签: azure-ad-b2c

解决方案


当您从 Native APP(ROPC 流)请求 /token 时,您可以在请求中添加范围。

从 doc 范围默认设置为

openid <ApplicationId/ClientId> offline_access

将其修改为如下所示以从 Web API 应用程序添加范围。确保您不应该将 ClientId 放在范围内

`openid https://tenant.onmicrosoft.com/hello/demo.read https://tenant.onmicrosoft.com/hello/user_impersonation offline_access`

希望您已经为 Native Application 提供了 API 访问权限(范围)。

获得 access_token 后,该令牌将包含您请求的所有范围,您可以将其发送到 Web API 进行授权。


推荐阅读