简介
recaptcha-jwt是一个可以在 Node.js 环境中使用 Google reCAPTCHA v3 API 的包。 它提供了一种简单的方法来验证用户是否通过了reCAPTCHA测试,并生成JWT令牌以用于身份验证。
安装
1. 安装Node.js
首先,你需要在你的计算机上安装Node.js。在终端或命令行中,键入以下命令以检查是否已安装它。
node -v
如果已安装,则会显示当前版本号。
2. 创建一个新的Node.js项目
然后,请在终端或命令行中导航到您要安装recaptcha-jwt的项目文件夹中,并使用以下命令初始化一个新的Node.js项目。
npm init
您将被提示填写您的项目详细信息。 如果您想在这个项目中使用recaptcha-jwt,请在提示您完成后键入以下命令以安装该包。
3. 安装recaptcha-jwt
运行以下命令以安装recaptcha-jwt:
npm install recaptcha-jwt --save
使用
1. 获取Google reCAPTCHA v3 API帐户密钥
要使用recaptcha-jwt,您需要在Google reCAPTCHA v3网站上获取帐户密钥。请遵循以下步骤:
- 访问 Google reCAPTCHA v3 管理界面
- 在“网站标识符”字段中,输入您的域名或者是"localhost"(如果您在本地主机上开发)
- 然后,选择reCAPTCHA v3
- 创建一个新的密钥,以便您可以从reCAPTCHA v3 API中获取一个用于您的网站的机密密钥(secret key)
2. 配置API密钥
现在,您需要在您的Node.js应用程序中配置您的API密钥。 打开您的项目文件夹,并在其中创建一个名为 ".env" 的文件。 在文件中添加以下行:
RECAPTCHA_SECRET_KEY=<your_secret_key>
“your_secret_key”是之前从reCAPTCHA网站上获得的机密密钥(secret key)。
3. 在应用程序中使用recaptcha-jwt
现在,您可以在应用程序中使用recaptcha-jwt来验证用户是否通过reCAPTCHA测试。首先,导入recaptcha-jwt包和dotenv包。
const recaptcha = require('recaptcha-jwt'); require('dotenv').config();
然后,您可以使用recaptcha.verifyAccessAsync方法来验证用户是否通过reCAPTCHA测试。以下是一个示例代码,以演示如何在Node.js中使用recaptcha-jwt:
-- -------------------- ---- ------- ----- --------- - ------------------------- --------------------------- ----- --------- - ------------------ -- ---- ------- ---- ----------- --- --- --- --- --- --------- --- ---- ---------------------- ----- ----- ---- -- - --- - ----- ----- - ----- -------------------------------------------- ------------------- -- -- ---- ----- ----- ---- -- --- ---------- -------- ----- --- - ----- ----- - --------------------------- ---------- -------- ------ ------ ------------ --- - ---展开代码
在上面的示例中,我们使用Express.js作为我们的Web框架,但是你可以选择任何你想要的框架。
4. 了解JWT令牌
当您调用recaptcha.verifyAccessAsync时,它将为您生成一个JWT令牌。它包含以下数据:
{ aud: '<your_site_token>', iat: <issued_at>, exp: <expiration_time>, sub: '<unique_id>', }
aud是您在Google reCAPTCHA v3网站上生成的“site key”。在JWT令牌中,它是证明此令牌用于哪个网站的必要参数。
iat是JWT令牌的发行时间。
exp是JWT令牌的过期时间。
sub是JWT令牌的唯一标识符。
你可以使用JSON Web Tokens来验证您的应用程序中的用户身份。
结论
recaptcha-jwt提供了一种简单的方法来集成Google reCAPTCHA v3 API,以确保您的网站和应用程序是安全的。 它的使用简单明了,需要做的唯一安装和配置API密钥。考虑到目前网络安全风险较高,为应用程序添加reCAPTCHA功能应该是很有效的一种解决方案。
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/60056c5b81e8991b448e5e16