命名空间:microsoft.graph
检索生成和注册Microsoft Entra ID兼容密钥所需的创建选项。 此函数返回 WebAuthn 凭据创建选项,其中包括质询、信赖方信息和用户信息,客户端使用这些信息创建新的 FIDO2 凭据。 excludeCredentials 中的质询属性和凭据 ID 是 Base64URL 编码的,无需填充。 响应中的所有二进制数据都遵循 RFC 4648 第 5 节中定义的 Base64URL 编码。
注意
此 API 应用系统定义的质询超时 5 分钟。 与此 API 的 beta 版本不同,v1.0 不支持自定义质询超时值。
此 API 有一个 已知问题 ,需要允许在 FIDO2 身份验证方法策略中启用 自助服务设置 。
此 API 可用于以下国家级云部署。
| 全局服务 | 美国政府 L4 | 美国政府 L5 (DOD) | 由世纪互联运营的中国 |
|---|---|---|---|
| ✅ | ❌ | ❌ | ❌ |
权限
为此 API 选择标记为最低特权的权限。 只有在应用需要它时,才使用更高的特权权限。 有关委派权限和应用程序权限的详细信息,请参阅权限类型。 要了解有关这些权限的详细信息,请参阅 权限参考。
| 权限类型 | 最低特权权限 | 更高特权权限 |
|---|---|---|
| 委派(工作或学校帐户) | UserAuthMethod-Passkey.ReadWrite.All | UserAuthenticationMethod.ReadWrite.All |
| 委派(个人 Microsoft 帐户) | 不支持。 | 不支持。 |
| 应用程序 | UserAuthMethod-Passkey.ReadWrite.All | UserAuthenticationMethod.ReadWrite.All |
重要
对于使用工作或学校帐户(其中已登录用户对其他用户进行操作)的委派访问,必须为他们分配受支持的Microsoft Entra角色或授予此操作所需权限的自定义角色。 此操作支持以下内置角色,这些角色仅提供所需的最小特权:
- 全局读取者
- 身份验证管理员
- 特权身份验证管理员
HTTP 请求
注意
调用 /me 终结点需要已登录的用户,因此需要委派权限。 使用 /me 终结点时,不支持应用程序权限。
GET /users/{id}/authentication/fido2Methods/creationOptions
GET /me/authentication/fido2Methods/creationOptions
请求标头
| 名称 | 说明 |
|---|---|
| Authorization | 持有者 {token}。 必填。 详细了解 身份验证和授权。 |
请求正文
请勿提供此方法的请求正文。
响应
如果成功,此函数在 200 OK 响应正文中返回响应代码和 webauthnCredentialCreationOptions 对象。
示例
请求
以下示例显示了一个请求。
GET https://graph.microsoft.com/v1.0/users/99a1915f-70a7-4b67-9dca-64095b41be73/authentication/fido2Methods/creationOptions
响应
以下示例显示了相应的响应。
注意:为了提高可读性,可能缩短了此处显示的响应对象。
HTTP/1.1 200 OK
Content-Type: application/json
{
"@odata.type": "#microsoft.graph.webauthnCredentialCreationOptions",
"challengeTimeoutDateTime": "2026-04-20T10:05:00Z",
"publicKey": {
"@odata.type": "#microsoft.graph.webauthnPublicKeyCredentialCreationOptions",
"rp": {
"@odata.type": "#microsoft.graph.webauthnPublicKeyCredentialRpEntity",
"id": "login.microsoftonline.com",
"name": "Microsoft"
},
"user": {
"@odata.type": "#microsoft.graph.webauthnPublicKeyCredentialUserEntity",
"id": "ZGF2aWRAY29udG9zby5jb20",
"displayName": "David Smith",
"name": "david@contoso.com"
},
"challenge": "QTU1MzNDNzAtNkM3Ni00NTRDLUJDQ0YtRTREMDZCNTBFRTRE",
"pubKeyCredParams": [
{
"@odata.type": "#microsoft.graph.webauthnPublicKeyCredentialParameters",
"type": "public-key",
"alg": -7
}
],
"timeout": 60000,
"excludeCredentials": [],
"authenticatorSelection": {
"@odata.type": "#microsoft.graph.webauthnAuthenticatorSelectionCriteria",
"authenticatorAttachment": "platform",
"requireResidentKey": true,
"userVerification": "required"
},
"attestation": "direct",
"extensions": {
"@odata.type": "#microsoft.graph.webauthnAuthenticationExtensionsClientInputs"
}
}
}