Microsoft 信息保护 SDK - 身份验证概念

若要在 MIP SDK 中进行身份验证,请 mip::AuthDelegate 扩展类以实现首选的身份验证方法。 mip::AuthDelegate 包含:

  • mip::AuthDelegate::OAuth2Challenge - 管理 OAuth 2.0 颁发机构信息的类,并将其提供给客户端应用程序。
  • mip::AuthDelegate::OAuth2Token - 一个类,用于管理从客户端应用程序和令牌存储获取 OAuth 2.0 访问令牌。
  • mip::AuthDelegate::AcquireOAuth2Token() - 一个纯虚拟函数,其实现确定访问令牌获取方法。 SDK 调用它后,实现将获取访问令牌,并将其返回到 SDK 的身份验证逻辑。

mip::AuthDelegate::AcquireOAuth2Token 接受以下参数并返回一个布尔值,该值指示令牌获取是否成功:

  • mip::Identity:用于身份验证的用户或服务的标识(如果已知)。
  • mip::AuthDelegate::OAuth2Challenge:接受四个参数: 颁发机构、 资源、 声明和 范围。 颁发机构 是生成令牌的服务。 资源 是应用程序尝试访问的服务。 调用委托时,SDK 会将这些参数传递给委托。 声明 是保护服务要求的标签特定声明。 Scopes是用于访问该资源所需的 Microsoft Entra 权限范围。
  • mip::AuthDelegate::OAuth2Token:SDK 将令牌结果写入此对象。 SDK 在引擎加载时使用它。 在身份验证实现之外,无需在任何地方获取或设置此值。

Important

应用程序不直接调用 AcquireOAuth2Token 。 SDK 在需要时调用此函数。

后续步骤

为简便起见,这些示例演示了代理人通过调用外部脚本来实现令牌的获取。 可以将此脚本替换为另一个脚本、开源 OAuth 2.0 库或自定义 OAuth 2.0 库。