【问题标题】:Manage user from Azure AD B2C using AD Graph API - secure access使用 AD Graph API 从 Azure AD B2C 管理用户 - 安全访问
【发布时间】:2017-11-12 11:25:03
【问题描述】:

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

我们决定使用 MSAL 本机库 (Xamarin) 来使用 B2C 进行身份验证。我们的移动应用程序需要管理(完全访问)已登录的用户个人资料。由于此功能在 MSAL 中不可用,我们决定暂时使用 ADAL。按照下面链接中提供的说明进行操作,示例工作。但我开始尝试删除应用程序中提供的 API 访问(在 b2c 租户中创建)并使用“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

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

知道为什么会这样。我想在 xamarin.ios 应用程序上实现这一点,非常感谢任何指导。

【问题讨论】:

    标签: azure adal azure-ad-b2c


    【解决方案1】:

    这个答案和你另一个问题的答案很相似:Exception access Azure AD B2C using ADAL library for user management,可以概括为:

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

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

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

    【讨论】:

      猜你喜欢
      • 2019-08-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-01-16
      • 2018-03-02
      • 2017-11-13
      • 1970-01-01
      相关资源
      最近更新 更多