[用户故事:给定一个具有全局管理员角色且oid为01234567-901a-bcde-f012-3456789abcde
的ADB2C用户(不是真正的oid),我希望能够以该用户身份登录并从“ https://graph.microsoft.com/beta/me”中检索用户个人资料或“ https://graph.microsoft.com/beta/users/01234567-901a-bcde-f012-3456789abcde”。两者均在文档中列为B2C的有效端点。
在仅分配了Microsoft Graph权限范围的应用程序注册中,我使用邮递员来请求用于访问MS Graph的承载令牌。有一个Web重定向URI(https://oauth.pstmn.io/v1/callback),一个客户端机密,并且对访问令牌和ID令牌都启用了隐式授权。
要求的范围是:openid offline_access https://graph.microsoft.com/Directory.AccessAsUser.All
同样,B2C用户帐户具有全局管理员角色。
AADB2C90205:此应用程序对此Web资源没有足够的权限来执行该操作。
我的租户中的应用具有用户流B2C_1_postman
,这基本上是默认的。它可以与邮递员,其他测试应用程序以及B2C刀片式服务器中的“运行用户流程”功能配合使用。
身份验证端点为:
https://{Tenant}.b2clogin.com/{Tenant}.onmicrosoft.com/B2C_1_postman/oauth2/v2.0/authorize
令牌端点为:
https://{Tenant}.b2clogin.com/{Tenant}onmicrosoft.com/B2C_1_postman/oauth2/v2.0/token
我已经通过Microsoft github存储库中的几个桌面演示,以及现在的Postman中复制了此行为。该应用程序称为“邮递员”,位于ADB2C租户中。我授予了它以下的应用程序API范围:
Directory.AccessAsUser.All Directory.Read.All Directory.ReadWrite.All Directory.email Directory.offline_access Directory.profile
此过程反映了https://github.com/Azure-Samples/active-directory-b2c-dotnet-desktop处的桌面演示的设置,唯一的例外是我希望我的桌面应用程序使用MS Graph而不是NodeJS示例应用程序。 (如果我添加示例应用程序的端点,则此应用程序注册会很好。但是指定MS Graph范围始终会返回一个空的访问ID。)
我该如何使用它?
[用户故事:给定一个ADB2C用户,该用户具有全局管理员角色,并且oid的名称为01234567-901a-bcde-f012-3456789abcde(不是真正的oid),我希望能够以该用户身份登录并检索该用户。 ..
通过Graph API管理用户似乎仍然需要其他应用注册。它不能是B2C应用。文档中的说明详细说明了应用程序注册:https://docs.microsoft.com/en-us/azure/active-directory-b2c/microsoft-graph-get-started