跳到主要内容

年龄验证

随着新法规要求平台在提供某些功能或内容访问之前验证用户年龄,年龄验证变得越来越重要。k-ID 的 Compliance Development Kit 通过提供全面的、了解司法管辖区的验证系统来简化合规性,该系统适应当地法律要求。

本指南将引导您通过几个步骤实施年龄验证,使您能够快速满足法规要求,同时提供流畅的用户体验。

试试 k-ID Dev Explorer

使用 k-ID Dev Explorer,一个开源开发者沙箱,来测试年龄验证流程并在事件日志中查看所有流量。您也可以将其作为自己年龄验证实现的起点。

先决条件

在开始之前,您需要:

  1. k-ID 产品:在 k-ID Compliance Studio创建并配置您的产品
  2. API 密钥:从 Compliance Studio 中您产品的开发者设置页面生成您的 API 密钥
  3. Webhook 端点(可选但推荐):设置一个安全的 HTTPS 端点以接收验证结果。更多详情,请参阅 Webhooks

步骤 1:启动年龄验证

调用 /age-verification/perform-access-age-verification API 创建验证请求。这将返回一个唯一 URL,用户可以在其中完成年龄验证。

提示

使用 API 参考 和您的 API 密钥快速生成您的年龄验证 URL。

重要

对于您的实现,这应该是服务器到服务器的调用,以保护您的 API 密钥不被暴露在客户端代码中。

请求示例

POST /api/v1/age-verification/perform-access-age-verification
Content-Type: application/json
Authorization: Bearer your-api-key

{
"jurisdiction": "GB",
"criteria": {
"ageCategory": "ADULT"
}
}

响应示例

{
"id": "7854909b-9124-4bed-9282-24b44c4a3c97",
"url": "https://family.k-id.com/verify?token=eyJhbGciOiJFUzM4NCIs..."
}

jurisdiction 参数确保符合当地法规(例如为英国要求设置 "GB"),而 ageCategory: "ADULT" 标准验证用户是否满足该司法管辖区定义的年龄标准要求。

步骤 2:显示验证界面

使用返回的 URL 在您的网站或应用中创建 iframe。用户通过此界面完成验证,可用方法自动适应司法管辖区要求。

HTML 实现

<div id="verification-container">
<iframe
id="verification-widget"
src="VERIFICATION_URL"
width="100%"
height="600"
frameborder="0"
allow="camera;payment;publickey-credentials-get;publickey-credentials-create">
</iframe>
</div>

iframe 向用户呈现多种验证方法,例如:

  • AgeKey:在初始验证过程后生成的可重用和匿名年龄证明。
  • 面部年龄估计:使用设备摄像头进行隐私保护型年龄估计
  • ID 文档验证:政府颁发的 ID 验证

可用方法取决于司法管辖区和您的产品配置。更多详情,请参阅 验证方法

步骤 3:处理验证结果

一旦用户成功完成年龄验证,或用户已达到最大重试次数但未成功,您可以接收验证结果。实现应结合使用客户端和服务器端方法:客户端事件最适合控制 UI 元素,而对于数据完整性,实际结果应来自 webhook 或调用 /age-verification/get-status

客户端(DOM 事件)

使用 DOM 事件在验证完成时进行响应式 UI 更新。有关事件结构的详细信息,请参阅 Verification.Result

const handleMessage = (event) => {
const message = event.data;
if (message.eventType === "Verification.Result") {
if (message.data.status === "PASS") {
// 用户通过验证 - 立即更新 UI
console.log("Age verified:", message.data.ageCategory);
updateUI();
} else if (message.data.status === "FAIL") {
// 用户验证失败 - 立即更新 UI
console.log("Verification failed:", message.data.failureReason);
updateUI();
}
}
};

window.addEventListener("message", handleMessage);

服务器端(webhooks、API 调用)

使用 webhooks 或 API 调用进行数据完整性和可靠的状态管理。对于数据完整性,始终通过 webhook 事件或调用 /age-verification/get-status 来验证结果,而不是仅依赖 DOM 事件。

Webhooks

有关 webhook 事件结构的详细信息,请参阅 Verification.Result

配置您的 webhook 端点 以接收 Verification.Result 事件:

{
"eventType": "Verification.Result",
"data": {
"id": "7854909b-9124-4bed-9282-24b44c4a3c97",
"status": "PASS",
"ageCategory": "adult",
"method": "id-document",
"age": {
"low": 25,
"high": 25
}
}
}

API 调用

使用验证 ID 查询验证状态,调用 /age-verification/get-status

GET /api/v1/age-verification/get-status?id=7854909b-9124-4bed-9282-24b44c4a3c97

Response:
{
"id": "7854909b-9124-4bed-9282-24b44c4a3c97",
"status": "PASS",
"ageCategory": "adult",
"method": "id-document"
}

下一步是什么?

现在您已经实现了基本的年龄验证,探索这些资源以增强您的集成:

使用 k-ID 的年龄验证 API,您可以在为用户提供流畅、注重隐私的验证体验的同时,快速实现年龄验证法规的合规性。