使用 AD Graph API 从 Azure AD B2C 管理用户 - 安全访问
Manage user from Azure AD B2C using AD Graph API - secure access
我们正在构建 Xamarin Native 移动应用程序并使用 Azure AD B2C 对使用社交登录的用户进行身份验证。
我们决定使用 MSAL 本机库 (Xamarin) 使用 B2C 进行身份验证。我们的移动应用程序需要管理(完全访问)登录的用户个人资料。由于此功能在 MSAL 中不可用,我们决定暂时使用 ADAL。按照下面 link 中提供的说明进行操作,示例工作。但是我开始尝试删除应用程序(在 b2c 租户中创建)中提供的 API 访问权限和带有 "Get-user" 参数的 运行 应用程序。并且该应用程序仍然能够从 AD 中获取用户。不确定这件事有多安全?
然后从 B2c 租户应用程序和 运行 控制台应用程序示例中删除了应用程序密钥。并收到错误 AADSTS70002: Error validating credentials. AADSTS50012: Invalid client secret is provided.
Trace ID: cef09957-06bf-462e-a0c3-4ed6bae11e00
Correlation ID: afab126d-8694-479a-8a21-c12eb7cb176c
知道为什么会这样。我想在 xamarin.ios 应用程序上实现它,非常感谢任何指导。
这个问题的答案与你另一个问题的答案非常相似:,可以概括为:
Azure AD B2C 尚不支持对 Azure AD 或 Microsoft Graph 的委派权限。 目前解决此限制的正确方法是 让您的本机客户端应用程序调用 Web API(使用 MSAL),后者又会调用图形 API(使用 ADAL)。此网站 API 是您构建的 API,它具有授权逻辑来确定用户管理操作的范围。
一旦通过 Microsoft Graph 支持 Azure AD B2C 中的用户管理,您将不需要此 API 并且将能够使用委派权限(与使用客户端凭据的应用程序权限相比)让您的原生客户端应用程序直接与 Microsoft Graph 对话。在此期间,您必须按照上述指南建立自己的网站 API。
更新: Azure AD v2.0 端点和 Microsoft Graph API 现在支持客户端凭据流,因此您还可以将 MSAL 用于您的 Microsoft Graph API 电话。但是,如果您需要调用 Azure AD Graph,那么您仍然需要使用 ADAL。
我们正在构建 Xamarin Native 移动应用程序并使用 Azure AD B2C 对使用社交登录的用户进行身份验证。
我们决定使用 MSAL 本机库 (Xamarin) 使用 B2C 进行身份验证。我们的移动应用程序需要管理(完全访问)登录的用户个人资料。由于此功能在 MSAL 中不可用,我们决定暂时使用 ADAL。按照下面 link 中提供的说明进行操作,示例工作。但是我开始尝试删除应用程序(在 b2c 租户中创建)中提供的 API 访问权限和带有 "Get-user" 参数的 运行 应用程序。并且该应用程序仍然能够从 AD 中获取用户。不确定这件事有多安全?
然后从 B2c 租户应用程序和 运行 控制台应用程序示例中删除了应用程序密钥。并收到错误 AADSTS70002: Error validating credentials. AADSTS50012: Invalid client secret is provided.
Trace ID: cef09957-06bf-462e-a0c3-4ed6bae11e00
Correlation ID: afab126d-8694-479a-8a21-c12eb7cb176c
知道为什么会这样。我想在 xamarin.ios 应用程序上实现它,非常感谢任何指导。
这个问题的答案与你另一个问题的答案非常相似:
Azure AD B2C 尚不支持对 Azure AD 或 Microsoft Graph 的委派权限。 目前解决此限制的正确方法是 让您的本机客户端应用程序调用 Web API(使用 MSAL),后者又会调用图形 API(使用 ADAL)。此网站 API 是您构建的 API,它具有授权逻辑来确定用户管理操作的范围。
一旦通过 Microsoft Graph 支持 Azure AD B2C 中的用户管理,您将不需要此 API 并且将能够使用委派权限(与使用客户端凭据的应用程序权限相比)让您的原生客户端应用程序直接与 Microsoft Graph 对话。在此期间,您必须按照上述指南建立自己的网站 API。
更新: Azure AD v2.0 端点和 Microsoft Graph API 现在支持客户端凭据流,因此您还可以将 MSAL 用于您的 Microsoft Graph API 电话。但是,如果您需要调用 Azure AD Graph,那么您仍然需要使用 ADAL。