【发布时间】:2017-04-30 08:47:56
【问题描述】:
我以https://github.com/AzureADQuickStarts/B2C-WebApp-OpenIdConnect-DotNet为基础开始
在 Azure B2C 预览版中创建了登录配置文件。
登录流程与 MFA 完美配合,在 https://github.com/azureadquickstarts/b2c-azureblobstorage-client/ 的帮助下使用自定义页面。
CSS 和样式有效。但是我意识到,使用 Javascript 自动完成功能的注册表单会变得不那么繁琐。
B2C 因安全问题曾禁止 Javascript。
所以我用 B2C 流程填写了电子邮件/密码,然后决定在我原始项目的 mvc 路由中将其重定向到我自己的页面。这个使用 https://github.com/Azure-Samples/active-directory-dotnet-graphapi-web/blob/master/WebAppGraphAPI/Controllers/UsersController.cs 作为 Graph API 的灵感来源。
我可以通过
成功获取tokenadClient = new ActiveDirectoryClient( serviceRoot, async () => await GetAppTokenAsync());
但是以下失败并出现“权限不足,无法完成”异常
userResult = (User)adClient.Users.GetByObjectId(userObjectID).ExecuteAsync().Result;
我尝试过以下https://social.msdn.microsoft.com/Forums/azure/en-US/6dd08794-ab89-4513-91e5-546c97a85adc/graph-client-throwing-insufficient-privileges-to-complete-the-operation-on-creating-ad-user?forum=WindowsAzureAD 以及尝试https://github.com/Azure-Samples/active-directory-dotnet-graphapi-console/issues/27 powershell 技巧
powershell 失败并显示
C:\Users\Karan\Desktop\dev> $msolcred = Get-Credential cmdlet Get-Credential at command pipeline position 1 为以下参数提供值: Credential PS C:\Users\Karan\Desktop\dev> 连接-MsolService -credential $msolcred Connect-MsolService :引发了“http://Microsoft.Online.Administration.Automation.MicrosoftOnlineException”类型的异常。在 line:1 char:1 + Connect-MsolService -credential $msolcred + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~ + CategoryInfo : OperationStopped: (:) [Connect-MsolService], Mic rosoftOnlineException + FullyQualifiedErrorId : 0x800488D6,http://Microsoft.Online .Administration.Autom ation.ConnectMsolService .....
还在这里添加了 B2C AD 中的图形 API 权限“读/写目录”
还在 Windows Azure Active Directory 中勾选了更多选项
以及在旧门户中勾选。
【问题讨论】:
-
您是否也点击了“授予权限”按钮?
-
是的,我刚刚做了。仍然遇到相同的错误“权限不足,无法完成操作。”
-
这需要一点时间(我想说最多 1 小时?)才能生效。如果它仍然不起作用,您可以将您的访问令牌复制到 jwt.calebb.net 并查看输出的屏幕截图。我想确认您是否没有得到您要求的范围。
-
附加解码的JWT
-
等了四天。仍然没有渗透权限
标签: azure azure-ad-b2c