在我的应用程序中,我想使用“资源所有者密码凭据”流来调用Azure Web API。我已经为我的Web API实现了Azure AD b2c Auth。我在Azure中创建了2个应用程序,其中一个用于Web API,一个用于ROPC的本机客户端应用程序。我在ROPC应用中给了WEB Api Access。我遵循了this article,并从ROPC应用程序中获取了令牌。但是,当我将ROPC令牌传递给Web API时,我得到401。我不知道如何在ROPC令牌请求中传递Web api范围。任何帮助将不胜感激
预先感谢, Subbiah K
答案 0 :(得分:1)
当您从本机APP(ROPC流)请求/令牌时,可以在请求中添加范围。
从文档作用域默认设置为
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`
希望您已经向本机应用程序授予了API访问权限(作用域)。
一旦获得access_token,该令牌将包含您请求的所有范围,您可以将其发送到Web API进行授权。