首页 web前端 js教程 网站上的无密码面部认证! (法塞奥)

网站上的无密码面部认证! (法塞奥)

Oct 26, 2024 am 06:12 AM

什么是 FaceIO,为什么使用它? ?

FaceIO 是一项允许网站和应用程序使用网络摄像头通过面部识别人员的服务。

用户无需输入密码或使用指纹,只需看着摄像头,应用程序就可以确认他们是谁。

Passwordless Facial Authentication on Websites! (FACEIO)

这很有帮助,因为:

  • ⚡ 比输入密码更快。
  • ?它更安全,因为只有拥有该面孔的人才能访问该应用程序。
  • ?用户无需记住复杂的密码。

FaceIO 的工作原理是什么?

Passwordless Facial Authentication on Websites! (FACEIO)

FaceIO 有两个主要操作

  1. ⛳ 注册用户:表示第一次录制用户的脸部。
  2. ?验证用户:这意味着检查镜头前的人是否与之前注册的人相同。

在网页中设置 FaceIO ?️

要使用 FaceIO,您需要将他们的 JavaScript 库(执行面部检测的特殊代码)添加到您的网站。操作方法如下:

1。包含脚本:
在 HTML 文件中添加指向 FaceIO 库的脚本标签:

   <script src="https://cdn.faceio.net/fio.js"></script>
登录后复制
登录后复制
登录后复制

?此脚本允许您的网站使用 FaceIO 的功能。

Passwordless Facial Authentication on Websites! (FACEIO)

2。创建用于注册和身份验证的按钮:
在 HTML 中,添加两个按钮:

   <button onclick="enrollNewUser()">Enroll New User</button>
   <button onclick="authenticateUser()">Authenticate User</button>
登录后复制
登录后复制
登录后复制

?当用户单击这些按钮时,他们将注册(保存他们的面部)或进行身份验证(检查他们的面部)。

Passwordless Facial Authentication on Websites! (FACEIO)

注册用户?

保存新用户脸部的过程称为注册。这是它的 JavaScript 代码:

function enrollNewUser() {
    const faceio = new faceIO("app-public-id"); // Replace with your app's ID

    faceio.enroll({
        locale: "en", // This sets the language to English
        payload: {
            email: "user@example.com" // Link this user's email or any other unique ID
        }
    }).then(userInfo => {
        console.log("User enrolled successfully!");
        console.log("User ID: " + userInfo.facialId);
        console.log("Enrollment Date: " + userInfo.timestamp);
        alert("Enrollment successful! Welcome, user.");
    }).catch(err => {
        handleError(err);
    });
}
登录后复制
登录后复制

?‍♂️ 这段代码有什么作用?

  • 它从 FaceIO 调用 enroll() 函数来启动该过程。
  • locale 表示用户喜欢的语言。
  • 有效负载是有关用户的额外信息(例如他们的电子邮件或ID)。
  • 如果成功,会显示一条消息“注册成功!”并记录用户 ID 和日期等详细信息。
  • 如果不起作用,它会调用handleError()函数来检查出了什么问题。

验证用户身份?

这是检查用户是否是他们所声称的人脸的方法:

   <script src="https://cdn.faceio.net/fio.js"></script>
登录后复制
登录后复制
登录后复制

?‍♂️ 这段代码有什么作用?

  • 它使用 FaceIO 中的authenticate() 方法。
  • 如果成功,它会记录一条消息并欢迎用户回来。
  • 如果没有,它会调用handleError()来了解问题。

要在 FaceIO 中获取 API 密钥(也称为 **应用程序公共 ID),请按照以下简单步骤操作:**

  1. 注册 FaceIO:

    • 如果您还没有帐户,请访问 FaceIO 网站并注册一个帐户。
    • 使用您的新帐户登录。
  2. 创建新应用程序

    • 登录后,转到仪表板
    • 点击“创建新应用程序”
    • 填写所需的详细信息,例如您的应用名称和描述,然后单击“创建”

Passwordless Facial Authentication on Websites! (FACEIO)

  1. 查找应用公共 ID:

    • 创建应用程序后,您将看到它列在仪表板上的“应用程序”部分。
    • 在这里,您将找到您的应用公共 ID。这是您将在 JavaScript 代码中使用的 API 密钥,用于将您的网站与 FaceIO 连接。
  2. 复制应用公共 ID:

    • 点击应用公共ID旁边的复制图标进行复制。
    • 现在,您可以将此密钥粘贴到代码中显示“app-public-id”的位置。

示例:将 JavaScript 代码中的“app-public-id”替换为您的实际应用公共 ID:

   <button onclick="enrollNewUser()">Enroll New User</button>
   <button onclick="authenticateUser()">Authenticate User</button>
登录后复制
登录后复制
登录后复制

Passwordless Facial Authentication on Websites! (FACEIO)

现在,您的应用程序已连接到 FaceIO,并准备好使用面部识别功能!

在开始之前,让我向您展示如何在实时服务器上运行 FaceIO。

在实时服务器上运行:

  • FaceIO 要求 JavaScript 文件由实时 HTTP 服务器提供,而不是来自 file:// URL(本地文件)。
  • 确保您正在服务器上运行 HTML 文件。您可以使用 VS Code 的 Live Server 扩展或 Node.js 等工具。

首先,在计算机中安装node.js,然后在FaceIO项目中安装以下包:

   <script src="https://cdn.faceio.net/fio.js"></script>
登录后复制
登录后复制
登录后复制

Passwordless Facial Authentication on Websites! (FACEIO)

然后通过以下命令使用它:

   <button onclick="enrollNewUser()">Enroll New User</button>
   <button onclick="authenticateUser()">Authenticate User</button>
登录后复制
登录后复制
登录后复制

这是您的 vscode 终端中的实时服务器链接:

Passwordless Facial Authentication on Websites! (FACEIO)

处理错误?

并不是所有事情都一直顺利,所以我们需要在错误发生时进行处理。这是一个执行此操作的函数:

function enrollNewUser() {
    const faceio = new faceIO("app-public-id"); // Replace with your app's ID

    faceio.enroll({
        locale: "en", // This sets the language to English
        payload: {
            email: "user@example.com" // Link this user's email or any other unique ID
        }
    }).then(userInfo => {
        console.log("User enrolled successfully!");
        console.log("User ID: " + userInfo.facialId);
        console.log("Enrollment Date: " + userInfo.timestamp);
        alert("Enrollment successful! Welcome, user.");
    }).catch(err => {
        handleError(err);
    });
}
登录后复制
登录后复制

?‍♂️ 这段代码有什么作用?

  • 它需要一个错误代码并将其与特定消息相匹配。
  • 例如,如果用户不允许访问相机,它会告诉他们需要启用它。
  • 每个错误案例都可以帮助用户了解出了什么问题以及下一步该做什么。

为什么 FaceIO 需要 HTTP 服务器? ?

您可能想知道为什么此代码需要在服务器上运行,而不是仅仅在浏览器中将其作为常规文件打开。原因如下:

  1. ?‍? JavaScript 和安全性:

    • JavaScript 代码在您的浏览器(客户端)中运行。但出于安全原因,它无法直接与非其来源的服务器通信。
    • 这称为同源策略。它可以保护您的数据安全,防止您未打开的网站访问。
  2. ?️ FaceIO 需要与其服务器对话

    • 当您注册或验证人脸时,FaceIO 库会将信息发送到其服务器以比较或保存数据。
    • 为了安全地执行此操作,它必须来自正确的网址(例如 http://yourwebsite.com),而不仅仅是计算机上的本地文件。

使用 FaceIO 控制台管理您的应用程序?

FaceIO 提供基于网络的应用程序管理器。这就像一个仪表板,您可以在其中控制应用程序的所有内容:

  • ?用户管理:添加、编辑或删除用户。
  • ?群组管理:将用户分组,以便更好地管理。
  • ?权限管理:决定谁可以在您的应用程序中执行哪些操作。
  • ?监控分析:检查有多少用户正在使用您的应用程序以及他们如何与之交互。
  • ?安全功能:使用多重身份验证等功能使您的应用程序更安全。

要点回顾♻️

  1. FaceIO 帮助网站使用面部识别来识别用户,使登录更快、更安全。
  2. 要使用 FaceIO,您需要包含其 JavaScript 库、创建按钮并设置用于注册和验证用户的功能。
  3. 错误处理对于在出现问题时指导用户非常重要。
  4. 需要HTTP 服务器来绕过浏览器安全规则并与 FaceIO 的服务器正常通信。
  5. 应用程序管理器可帮助您控制用户、设置和安全性。

按照以下步骤,您可以制作一个网站,用户只需查看网络摄像头即可登录!您正在将您的网站变成一个未来派应用程序,可以识别面孔,并使其更加用户友好和安全,以吸引您的面试官或客户!


希望这个解释对您有所帮助!它涵盖了从 FaceIO 的工作原理到设置和管理的所有内容。如果您还有任何疑问,请告诉我!

阅读更多: 6 个月内成为后端开发人员的技能(路线图)

以上是网站上的无密码面部认证! (法塞奥)的详细内容。更多信息请关注PHP中文网其他相关文章!

本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

热AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover

AI Clothes Remover

用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool

Undress AI Tool

免费脱衣服图片

Clothoff.io

Clothoff.io

AI脱衣机

Video Face Swap

Video Face Swap

使用我们完全免费的人工智能换脸工具轻松在任何视频中换脸!

热门文章

<🎜>:泡泡胶模拟器无穷大 - 如何获取和使用皇家钥匙
4 周前 By 尊渡假赌尊渡假赌尊渡假赌
北端:融合系统,解释
4 周前 By 尊渡假赌尊渡假赌尊渡假赌
Mandragora:巫婆树的耳语 - 如何解锁抓钩
3 周前 By 尊渡假赌尊渡假赌尊渡假赌

热工具

记事本++7.3.1

记事本++7.3.1

好用且免费的代码编辑器

SublimeText3汉化版

SublimeText3汉化版

中文版,非常好用

禅工作室 13.0.1

禅工作室 13.0.1

功能强大的PHP集成开发环境

Dreamweaver CS6

Dreamweaver CS6

视觉化网页开发工具

SublimeText3 Mac版

SublimeText3 Mac版

神级代码编辑软件(SublimeText3)

热门话题

Java教程
1670
14
CakePHP 教程
1428
52
Laravel 教程
1329
25
PHP教程
1276
29
C# 教程
1256
24
Python vs. JavaScript:学习曲线和易用性 Python vs. JavaScript:学习曲线和易用性 Apr 16, 2025 am 12:12 AM

Python更适合初学者,学习曲线平缓,语法简洁;JavaScript适合前端开发,学习曲线较陡,语法灵活。1.Python语法直观,适用于数据科学和后端开发。2.JavaScript灵活,广泛用于前端和服务器端编程。

从C/C到JavaScript:所有工作方式 从C/C到JavaScript:所有工作方式 Apr 14, 2025 am 12:05 AM

从C/C 转向JavaScript需要适应动态类型、垃圾回收和异步编程等特点。1)C/C 是静态类型语言,需手动管理内存,而JavaScript是动态类型,垃圾回收自动处理。2)C/C 需编译成机器码,JavaScript则为解释型语言。3)JavaScript引入闭包、原型链和Promise等概念,增强了灵活性和异步编程能力。

JavaScript和Web:核心功能和用例 JavaScript和Web:核心功能和用例 Apr 18, 2025 am 12:19 AM

JavaScript在Web开发中的主要用途包括客户端交互、表单验证和异步通信。1)通过DOM操作实现动态内容更新和用户交互;2)在用户提交数据前进行客户端验证,提高用户体验;3)通过AJAX技术实现与服务器的无刷新通信。

JavaScript在行动中:现实世界中的示例和项目 JavaScript在行动中:现实世界中的示例和项目 Apr 19, 2025 am 12:13 AM

JavaScript在现实世界中的应用包括前端和后端开发。1)通过构建TODO列表应用展示前端应用,涉及DOM操作和事件处理。2)通过Node.js和Express构建RESTfulAPI展示后端应用。

了解JavaScript引擎:实施详细信息 了解JavaScript引擎:实施详细信息 Apr 17, 2025 am 12:05 AM

理解JavaScript引擎内部工作原理对开发者重要,因为它能帮助编写更高效的代码并理解性能瓶颈和优化策略。1)引擎的工作流程包括解析、编译和执行三个阶段;2)执行过程中,引擎会进行动态优化,如内联缓存和隐藏类;3)最佳实践包括避免全局变量、优化循环、使用const和let,以及避免过度使用闭包。

Python vs. JavaScript:社区,图书馆和资源 Python vs. JavaScript:社区,图书馆和资源 Apr 15, 2025 am 12:16 AM

Python和JavaScript在社区、库和资源方面的对比各有优劣。1)Python社区友好,适合初学者,但前端开发资源不如JavaScript丰富。2)Python在数据科学和机器学习库方面强大,JavaScript则在前端开发库和框架上更胜一筹。3)两者的学习资源都丰富,但Python适合从官方文档开始,JavaScript则以MDNWebDocs为佳。选择应基于项目需求和个人兴趣。

Python vs. JavaScript:开发环境和工具 Python vs. JavaScript:开发环境和工具 Apr 26, 2025 am 12:09 AM

Python和JavaScript在开发环境上的选择都很重要。1)Python的开发环境包括PyCharm、JupyterNotebook和Anaconda,适合数据科学和快速原型开发。2)JavaScript的开发环境包括Node.js、VSCode和Webpack,适用于前端和后端开发。根据项目需求选择合适的工具可以提高开发效率和项目成功率。

C/C在JavaScript口译员和编译器中的作用 C/C在JavaScript口译员和编译器中的作用 Apr 20, 2025 am 12:01 AM

C和C 在JavaScript引擎中扮演了至关重要的角色,主要用于实现解释器和JIT编译器。 1)C 用于解析JavaScript源码并生成抽象语法树。 2)C 负责生成和执行字节码。 3)C 实现JIT编译器,在运行时优化和编译热点代码,显着提高JavaScript的执行效率。

See all articles