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

MIP SDK 中的身份验证是通过扩展 mip::AuthDelegate 类来实现你偏好的身份验证方法来执行的。 mip::AuthDelegate 包含:

  • mip::AuthDelegate::OAuth2Challenge - 用于管理 OAuth2 颁发机构信息并提供给客户端应用程序的类。
  • mip::AuthDelegate::OAuth2Token - 用于管理 OAuth2 访问令牌的获取(从客户端应用程序)和令牌存储的类。
  • mip::AuthDelegate::AcquireOAuth2Token() - 一种纯虚拟的功能,这种功能的实现决定了获取访问令牌的方法。 SDK 发起调用后,它会获取访问令牌,然后将访问令牌返回给 SDK 的身份验证逻辑。

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

  • mip::Identity:要进行身份验证的用户或服务的标识(如果已知)。
  • mip::AuthDelegate::OAuth2Challenge:接受四个参数:authority、resource、claims 和 scopes。 “颁发机构”是将对其生成令牌的服务。 “资源”是我们尝试访问的服务。 调用时,SDK 负责将这些参数传递到代理人。 Claims 是保护服务要求的特定标签声明。 “范围”是访问资源所需的 Microsoft Entra 权限范围。
  • mip::AuthDelegate::OAuth2Token:令牌结果将写入此对象。 加载引擎时,SDK 将使用它。 除身份验证实现外,不应在任何地方获取或设置此值。

重要提示:应用程序不直接调用 AcquireOAuth2Token。 需要时将由 SDK 调用此函数。

后续步骤

为简便起见,这些示例演示了代理人将通过调用外部脚本来实现令牌的获取。 可将此脚本替换为任何其他类型的脚本、开放源代码 OAuth2 库或自定义 OAuth2 库。