问题描述
如何根据数据库中用户的不同参数为您的nodejs应用程序的用户生成API密钥,以提供对我们服务器端点的访问权限。
解决方法
当我们谈论生成 API 密钥时,我总是更喜欢使用 uuid 或加密库。 要保护您的密钥,请在将密钥保存到数据库之前对其进行加密。 要加密密钥,您可以使用 Google 的密钥管理服务 (KMS) 和 JWT,但我更喜欢使用 KMS。
,您可以使用不同的参数来生成API密钥,并将其存储在数据库中供不同用户使用。
示例:
- 您在数据库中拥有该用户的 用户名 和 电子邮件 。
- 将它们都添加在一起以创建新字符串并将其存储在变量中
- 然后将其转换为 Base64 并将其存储在数据库中用户的apiKey列中。
代码
data = req.body.email+req.body.username;
let apiKey = Buffer.from(data).toString('base64')
使用此API密钥更新该用户的数据库列,该用户可用来访问您的服务器端点。