azure - 使用 AD Graph API 从 Azure AD B2C 管理用户 - 安全访问

标签 azure adal azure-ad-b2c

我们正在构建 Xamarin Native 移动应用程序,并使用 Azure AD B2C 通过社交登录对用户进行身份验证。

我们决定使用 MSAL native 库 (Xamarin) 进行 B2C 身份验证。我们的移动应用程序需要管理(完全访问)登录的用户配置文件。由于 MSAL 中不提供此功能,我们决定暂时使用 ADAL。按照下面链接中提供的说明和示例进行操作。但我开始尝试删除应用程序中提供的 API 访问权限(在 b2c 租户中创建),并使用“Get-user”参数运行应用程序。并且应用程序仍然能够从AD获取用户。不确定这东西有多安全?

然后从 B2c 租户应用程序中删除应用程序 key 并运行控制台应用程序示例。并收到错误 AADSTS70002:验证凭据时出错。 AADSTS50012:提供的客户端 key 无效。 跟踪 ID:cef09957-06bf-462e-a0c3-4ed6bae11e00 相关 ID:afab126d-8694-479a-8a21-c12eb7cb176c

https://learn.microsoft.com/en-us/azure/active-directory-b2c/active-directory-b2c-devquickstarts-graph-dotnet

知道为什么会发生这种情况。我想在 xamarin.ios 应用程序上实现此功能,非常感谢任何指导。

最佳答案

这个问题的答案与您其他问题的答案非常相似:Exception access Azure AD B2C using ADAL library for user management ,可以概括为:

Azure AD B2C 尚不支持向 Azure AD 或 Microsoft Graph 委派权限。目前解决此限制的正确方法是让 native 客户端应用程序调用Web API(使用 MSAL)进而调用 Graph API(使用 ADAL)。此 Web API 是您构建的 API,它具有用于限定用户管理操作范围的授权逻辑。

一旦通过 Microsoft Graph 支持 Azure AD B2C 中的用户管理,您将不需要此 API,并且能够使用委派权限(相对于使用客户端凭据的应用程序权限)让 native 客户端应用程序直接与微软图表。在此期间,您必须按照上述指南建立自己的 Web API。

更新:Azure AD v2.0 终结点和 Microsoft Graph API 现在支持客户端凭据流,因此您还可以使用 MSAL 进行 Microsoft Graph API 调用。但是,如果您需要调用 Azure AD Graph,那么您仍然需要使用 ADAL。

关于azure - 使用 AD Graph API 从 Azure AD B2C 管理用户 - 安全访问,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44474803/

相关文章:

c# - 如何从 requestTelemetry 获取 session ID?

asp.net - 使用 Azure AD 和 WebAPI 进行服务到服务身份验证

c# - Web API 代表 adal id_token 错误

Azure AD B2C 密码重置 - 跳过电子邮件验证

azure - 锁定期限到期后如何续订锁定?使用 Azure 服务总线 session 队列

azure - 如何确定获取 Blob 租约的时间

android - Azure AD B2C 登录 - "contains script errors preventing it from being loaded"

azure - 我可以使用 Azure Active Directory 库 (ADAL) 从 Azure AD 获取 SAML 响应吗?

azure - 使用 azure AD B2C 授权访问静态 html 的最简单方法是什么?

c# - 在 MVC Core 应用程序中使用 AddAzureADB2C 时向 ClaimsPrincipal 添加自定义声明