Azure AD B2C使用Graph API完成操作的权限不足

时间:2017-04-30 08:47:57

标签: azure azure-ad-b2c

我已经开始使用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的灵感。

我能够通过

成功获取令牌
adClient = new ActiveDirectoryClient( serviceRoot, async () => await GetAppTokenAsync()); 

然而,以下情况失败,并且#34;没有足够的权限来完成"例外

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:\用户\卡兰\桌面\设备> $ msolcred = Get-Credential cmdlet命令管道位置的Get-Credential 1以下参数的提供值:Credential PS C:\ Users \ Karan \ Desktop \ dev> Connect-MsolService -credential $ msolcred Connect-MsolService:类型' http://Microsoft.Online的异常.Administration.Automation.MicrosoftOnlineException'被扔了。在行:1 char:1 + Connect-MsolService -credential $ msolcred + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~ + CategoryInfo:OperationStopped:(:) [Connect-MsolService],Mic rosoftOnlineException + FullyQualifiedErrorId:0x800488D6,http://Microsoft.Online .Administration.Autom ation.ConnectMsolService .....

还尝试了https://docs.microsoft.com/en-us/azure/active-directory-b2c/active-directory-b2c-devquickstarts-graph-dotnet

中提到的步骤

还添加了图形API权限"读/写目录"在B2C AD这里 enter image description here

还在Windows Azure Active Directory中勾选了更多选项

然后在Old portal中打勾。

Clicked on grant permissions too

1 个答案:

答案 0 :(得分:0)

这已经解决了。我不得不创建一个新的应用程序。对我的B2C生成的应用程序清楚地写了“不要修改” - 我正在修改权限。所以我添加了一个新的应用程序并授予了读写目录。我的错误。

enter image description here