年龄验证
随着新法规要求平台在提供某些功能或内容访问之前验证用户年龄,年龄验证变得越来越重要。k-ID 的 Compliance Development Kit 通过提供全面的、了解司法管辖区的验证系统来简化合规性,该系统适应当地法律要求。
本指南将引导您通过几个步骤实施年龄验证,使您能够快速满足法规要求,同时提供流畅的用户体验。
使用 k-ID Dev Explorer,一个开源开发者沙箱,来测试年龄验证流程并在事件日志中查看所有流量。您也可以将其作为自己年龄验证实现的起点。
先决条件
在开始之前,您需要:
- k-ID 产品:在 k-ID Compliance Studio 中创建并配置您的产品
- API 密钥:从 Compliance Studio 中您产品的开发者设置页面生成您的 API 密钥
- 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"
}
下一步是什么?
现在您已经实现了基本的年龄验证,探索这些资源以增强您的集成:
- API 参考文档:所有年龄验证 API 的详细文档
- 验证方法:为您的产品配置特定的验证方法和场景
- Webhooks 设置:为生产系统实施强大的 webhook 处理
- 最佳实践:实施最佳实践以确保安全性和可靠的用户体验
- 上线前检查清单:在上线前审查要求(联系 k-ID 支持获取最新检查清单)
使用 k-ID 的年龄验证 API,您可以在为用户提供流畅、注重隐私的验证体验的同时,快速实现年龄验证法规的合规性。