Method: challenge.verify
使用集合让一切井井有条
根据您的偏好保存内容并对其进行分类。
HTTP 请求
POST https://verifiedaccess.googleapis.com/v1/challenge:verify
网址采用 gRPC 转码语法。
请求正文
请求正文中包含结构如下的数据:
JSON 表示法 |
{
"challengeResponse": {
object (SignedData )
},
"expectedIdentity": string
} |
字段 |
challengeResponse |
object (SignedData )
系统为该质询生成的回答
|
expectedIdentity |
string
服务可以选择提供与密钥关联的设备或用户的身份信息。对于 EMK,此值为已注册网域。对于 EUK,此值为用户的电子邮件地址。如果存在,系统会将此值与响应内容进行比对,如果不匹配,验证将会失败。
|
响应正文
VerifiedAccess.VerifyChallengeResponse 的结果消息。
如果成功,响应正文将包含结构如下的数据:
JSON 表示法 |
{
"verificationOutput": string,
"devicePermanentId": string,
"signedPublicKeyAndChallenge": string,
"deviceEnrollmentId": string,
"attestedDeviceId": string
} |
字段 |
verificationOutput (deprecated) |
string
对于 EMCert 检查,此处会返回设备永久 ID。对于 EUCert 检查,如果存在 signedPublicKeyAndChallenge [base64 编码],则返回该值,否则返回空字符串。此字段已废弃,请使用 devicePermanentId 或 signedPublicKeyAndChallenge 字段。
|
devicePermanentId |
string
设备永久 ID 会在此字段中返回(仅适用于机器响应)。
|
signedPublicKeyAndChallenge |
string
此字段中会返回证书签名请求(采用 SPKAC 格式,base64 编码)。只有当设备在质询响应中包含 CSR 时,才会设置此字段。(现在,用户和机器响应均可包含 CSR 选项)
|
deviceEnrollmentId |
string
此字段中会返回设备注册 ID(仅适用于机器响应)。
|
attestedDeviceId |
string
设备的经过认证的设备 ID (ADID),从经过验证的数据中读取。
|
授权范围
需要以下 OAuth 范围:
https://www.googleapis.com/auth/verifiedaccess
如需了解详情,请参阅 OAuth 2.0 Overview。
如未另行说明,那么本页面中的内容已根据知识共享署名 4.0 许可获得了许可,并且代码示例已根据 Apache 2.0 许可获得了许可。有关详情,请参阅 Google 开发者网站政策。Java 是 Oracle 和/或其关联公司的注册商标。
最后更新时间 (UTC):2025-07-25。
[null,null,["最后更新时间 (UTC):2025-07-25。"],[[["\u003cp\u003eThe challenge.verify API is used to verify a challenge response from a device or user, typically involving cryptographic signatures.\u003c/p\u003e\n"],["\u003cp\u003eThe request body requires the challenge response and optionally the expected identity of the device or user.\u003c/p\u003e\n"],["\u003cp\u003eUpon successful verification, the response body provides device identifiers, a certificate signing request (if applicable), and other relevant data.\u003c/p\u003e\n"],["\u003cp\u003eThis API requires the \u003ccode\u003ehttps://www.googleapis.com/auth/verifiedaccess\u003c/code\u003e OAuth scope for authorization.\u003c/p\u003e\n"]]],[],null,["# Method: challenge.verify\n\n- [HTTP request](#body.HTTP_TEMPLATE)\n- [Request body](#body.request_body)\n - [JSON representation](#body.request_body.SCHEMA_REPRESENTATION)\n- [Response body](#body.response_body)\n - [JSON representation](#body.VerifyChallengeResponseResult.SCHEMA_REPRESENTATION)\n- [Authorization scopes](#body.aspect)\n\nchallenge.verify API\n\n### HTTP request\n\n`POST https://verifiedaccess.googleapis.com/v1/challenge:verify`\n\nThe URL uses [gRPC Transcoding](https://google.aip.dev/127) syntax.\n\n### Request body\n\nThe request body contains data with the following structure:\n\n| JSON representation |\n|--------------------------------------------------------------------------------------------------------------------------------|\n| ``` { \"challengeResponse\": { object (/chrome/verified-access/reference/rest/v1/SignedData) }, \"expectedIdentity\": string } ``` |\n\n| Fields ||\n|---------------------|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|\n| `challengeResponse` | `object (`[SignedData](/chrome/verified-access/reference/rest/v1/SignedData)`)` The generated response to the challenge |\n| `expectedIdentity` | `string` Service can optionally provide identity information about the device or user associated with the key. For an EMK, this value is the enrolled domain. For an EUK, this value is the user's email address. If present, this value will be checked against contents of the response, and verification will fail if there is no match. |\n\n### Response body\n\nResult message for VerifiedAccess.VerifyChallengeResponse.\n\nIf successful, the response body contains data with the following structure:\n\n| JSON representation |\n|------------------------------------------------------------------------------------------------------------------------------------------------------------------------|\n| ``` { \"verificationOutput\": string, \"devicePermanentId\": string, \"signedPublicKeyAndChallenge\": string, \"deviceEnrollmentId\": string, \"attestedDeviceId\": string } ``` |\n\n| Fields ||\n|---------------------------------------|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|\n| `verificationOutput` **(deprecated)** | `string` | This item is deprecated! For EMCert check, device permanent id is returned here. For EUCert check, signedPublicKeyAndChallenge \\[base64 encoded\\] is returned if present, otherwise empty string is returned. This field is deprecated, please use devicePermanentId or signedPublicKeyAndChallenge fields. |\n| `devicePermanentId` | `string` Device permanent id is returned in this field (for the machine response only). |\n| `signedPublicKeyAndChallenge` | `string` Certificate Signing Request (in the SPKAC format, base64 encoded) is returned in this field. This field will be set only if device has included CSR in its challenge response. (the option to include CSR is now available for both user and machine responses) |\n| `deviceEnrollmentId` | `string` Device enrollment id is returned in this field (for the machine response only). |\n| `attestedDeviceId` | `string` Attested device id (ADID) of the device, read from the verified data. |\n\n### Authorization scopes\n\nRequires the following OAuth scope:\n\n- `https://www.googleapis.com/auth/verifiedaccess`\n\nFor more information, see the [OAuth 2.0 Overview](/identity/protocols/OAuth2)."]]