azure-ad-b2c - 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
解决方案
当您从 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 进行授权。
推荐阅读
- python - 如何初始化 pyproject.toml 文件
- oracle - 访问或修改 AWS Oracle RDS 上的 tnsnames.ora
- java - Spring 框架中的事务是什么?
- c# - 附加到 exe 进程时出现 System.ExecutionEngineException
- angular7 - Angular ag-grid suppressLoadingOverlay 在不同的环境中不起作用
- javascript - 如何测试从异步函数抛出的嵌套错误?
- java - 是否有可能在它被杀死时恢复整个应用程序(由用户或由 android),或者至少获得最后一个活动?
- python - 向量之间的角度 - Python
- swift - SwiftUI - UI 元素的大小
- javascript - JSON对象中的递归数据