Rıf*_*hin 6 azure azure-active-directory azure-ad-graph-api azure-ad-b2c
作为企业,我们希望使用Azure AD B2C,并且我们有内部和外部用户。
Azure AD 帮助我们管理我们的 Azure 用户、企业用户,我们甚至可以使用 x@.onmicrosoft.com 电子邮件添加用户。
当我们想为我们的消费者使用 Azure AD B2C 时。所以我们有 2 个选择来添加我们的用户,即本地用户和外部用户(Facebook、Google 等)
如果本地用户属于我们公司,则可以使用 Azure AD B2C 门户创建用户。
但是当我们尝试创建拥有另一种电子邮件的 Azure AD B2C 用户时,我们需要使用我们自己的应用程序,该应用程序正在使用 Graph API。(即 Azure 门户限制)
问题是我们很难在登录后获取用户值,因为他们是使用 Gmail 或 x 电子邮件的本地用户。
我们使用 MSAL 来获取相关信息,而不是 ADAL。
我们已经启用了范围并启用了 API 访问,但这是我们得到的错误。
获取弹出窗口:AADB2C90055:请求中提供的范围“openid email openid profile”必须指定一个资源,例如“ https://example.com/calendar.read ”。
关联 ID:86d6ff41-1cef-4ba1-9b26-2aa281c92ccd
时间戳:2017-09-15 10:22:20Z
invalid_request 登录时出错:AADB2C90117:不支持请求中提供的范围“user_impersonation”。
关联 ID:785c6487-cd7f-4750-a769-deb477cb4ba4
时间戳:2017-09-15 10:32:39Z
:无效请求
获取弹出窗口时出错:AADB2C90055:请求中提供的范围“电子邮件 openid 配置文件”必须指定资源,例如“ https://example.com/calendar.read ”。
关联 ID:bd714482-8534-473e-94bc-0a4c56da686d
时间戳:2017-09-15 10:36:15Z
:无效请求
openid profile offline_access当我们使用 MSAL 库与 Azure AD B2C 交互时,无需提供范围。SDK 将自动添加范围。我们只需提供为 Azure AD B2C 刀片上的 Web API 应用程序注册定义的自定义范围。
该范围user_impersonation是应用程序默认定义的自定义范围。我们应该在它之前包含应用程序 ID URI( https://{myB2CTenant}.onmicrosoft.com/b2capp2),如下所示:
string[] SCOPES = { "https://{myB2CTenant}.onmicrosoft.com/b2capp2/note_read", "https://{myB2CTenant}.onmicrosoft.com/b2capp2/user_impersonation" };
Run Code Online (Sandbox Code Playgroud)
而且据我所知,Azure AD B2C 目前不支持委托用户访问 Azure ad Graph。我们需要通过 Azure Active Directory->应用程序注册(不在 Azure AD B2C 刀片中)注册应用程序,并通过客户端凭据流访问 Microsoft 或 Azure AD Graph。以下是在 Azure AD B2C 中调用图形 API 的有用链接:
如果您希望Azure AD B2C应用程序也支持委托用户调用Microsoft Graph,您可以从此处提交反馈。
| 归档时间: |
|
| 查看次数: |
8332 次 |
| 最近记录: |