获取身份验证方法状态

命名空间:microsoft.graph

重要

Microsoft Graph /beta 版本下的 API 可能会发生更改。 不支持在生产应用程序中使用这些 API。 若要确定 API 是否在 v1.0 中可用,请使用 版本 选择器。

读取用户的身份验证状态的属性。 使用此 API 检索以下信息:

此 API 可用于以下国家级云部署

全局服务 美国政府 L4 美国政府 L5 (DOD) 由世纪互联运营的中国

权限

为此 API 选择标记为最低特权的权限。 只有在应用需要它时,才使用更高的特权权限。 有关委派权限和应用程序权限的详细信息,请参阅权限类型。 要了解有关这些权限的详细信息,请参阅 权限参考

读取系统首选 MFA 的权限

权限类型 最低特权权限 更高特权权限
委派(工作或学校帐户) UserAuthenticationMethod.Read UserAuthenticationMethod.ReadWrite
委派(个人 Microsoft 帐户) 不支持。 不支持。
应用程序 UserAuthenticationMethod.Read UserAuthenticationMethod.ReadWrite

重要

在具有工作或学校帐户的委托方案中,如果已登录用户对其他用户进行操作,则必须为他们分配受支持的Microsoft Entra角色或具有受支持角色权限的自定义角色。 此操作支持以下最低特权角色。

  • 全局读取者
  • 身份验证管理员
  • 特权身份验证管理员

读取每用户 MFA 状态的权限

针对自身操作的权限

权限类型 最低特权权限 更高特权权限
委派(工作或学校帐户) Policy.Read.All Policy.ReadWrite.AuthenticationMethod
委派(个人 Microsoft 帐户) 不支持。 不支持。
应用程序 不支持。 不支持。

对其他人进行操作的权限

权限类型 最低特权权限 更高特权权限
委派(工作或学校帐户) Policy.Read.All Policy.ReadWrite.AuthenticationMethod
委派(个人 Microsoft 帐户) 不支持。 不支持。
应用程序 Policy.Read.All Policy.ReadWrite.AuthenticationMethod

重要

在具有工作或学校帐户的委托方案中,必须为登录用户分配受支持的Microsoft Entra角色或具有支持的角色权限的自定义角色。 此操作支持以下最低特权角色。

  • 全局读取者
  • 身份验证策略管理员

HTTP 请求

若要检索用户的登录首选项 (系统首选 MFA) ,

GET /users/{id | userPrincipalName}/authentication/signInPreferences

若要检索已登录用户的按用户多重身份验证状态,请执行以下操作:

GET /me/authentication/requirements

若要检索用户的按用户多重身份验证状态,请执行以下操作:

GET /users/{id | userPrincipalName}/authentication/requirements

请求标头

名称 说明
Authorization 持有者 {token}。 必填。 详细了解 身份验证和授权

请求正文

请勿提供此方法的请求正文。

响应

对于登录首选项:如果成功,此方法在 200 OK 响应正文中返回响应代码和 signInPreferences 对象。

示例

示例 1:获取用户的系统首选 MFA 方法

请求

以下示例显示了一个请求。

GET https://graph.microsoft.com/beta/users/071cc716-8147-4397-a5ba-b2105951cc0b/authentication/signInPreferences

响应

以下示例显示了相应的响应。

注意:为了提高可读性,可能缩短了此处显示的响应对象。

HTTP/1.1 200 OK
Content-Type: application/json

{
  "isSystemPreferredAuthenticationMethodEnabled": false,
  "userPreferredMethodForSecondaryAuthentication": "push"
}

示例 2:获取用户的 MFA 状态

请求

以下示例显示了一个请求。

GET https://graph.microsoft.com/beta/users/071cc716-8147-4397-a5ba-b2105951cc0b/authentication/requirements

响应

以下示例显示了相应的响应。

注意:为了提高可读性,可能缩短了此处显示的响应对象。

HTTP/1.1 200 OK
Content-Type: application/json

{
  "perUserMfaState": "enforced"
}