客户端服务器 REST API 验证码实现

2022-08-30 22:09:36

我正在构建客户端服务器 REST 应用程序。客户端基于Angular,而服务器是PHP(无论如何都不是说它很重要)。

我想知道在这种情况下是否有任何最佳实践,验证码实现的好例子?验证码将用于用户注册等。

我不限于任何特定的库,唯一的要求是不能在客户端上对第三方服务器进行任何调用(托管在第三方服务器上的js库或req api密钥等)。

谢谢


答案 1

当谷歌验证码批准一个用户时,它会为您提供一个令牌。

所以想象一下这个场景。用户即将保存,并使用验证码,验证码做其业务并为您提供令牌,这才是最重要的。

如果您想查看对此的请求的“暂定”流。

  1. 用户应在注册之前传递验证码,并检索它在前端提供的令牌。
  2. 用户点击保存,您将在后端收到验证码令牌作为表单数据。您可以通过API与Google验证令牌。如果 Google 验证令牌是否有效,您可以保存用户,或者在 Google 返回错误时拒绝。
  3. 前端侦听成功或错误以及哪种错误。如果错误是验证码,则强制重试,获取新令牌。
  4. 后端接收表单数据中的新令牌并重复步骤 2。

答案 2

你可以看看谷歌验证码。它的角度实现在这里

vcRecaptcha