需要用户验证步骤的帮助 SWIFT + TWILIO + NODEJS + COUCHBASE

Need help for user validation steps SWIFT + TWILIO + NODEJS + COUCHBASE

所以我正在学习 Swift 并且我正在尝试验证用户在 IOS 应用程序上对 class 项目的输入,但我不确定我是否在关注正确的步骤。你能给我一些反馈吗? 这是怎么回事:

我不确定是否应该在客户端或服务器端或两者上验证数据。有人告诉我永远不要相信用户的输入,但当时我在网站上工作。我真的很困惑,它是否也适用于 phone 应用程序?

服务器端应该总是有验证。您不能相信用户输入。您的 phone 应用程序还将使用一些 API 与服务器通信,对吧?如果我不使用您的应用程序而只是向 API 发送请求怎么办?

此外,您的设计看起来有些缺陷。

如果用户验证了 phone 但退出了应用程序(用户 phone 已在数据库中验证,对吗?)。但是另一个用户要求您 API 提供电子邮件和密码?

验证 phone 的人使用电子邮件和密码注册时,您是否有任何准备?

请详细说明。

我会说你到目前为止有两个选择:

1 - 从客户端(即用户的phone)创建随机验证码(通常为6位),然后将其沿着用户的phone号码发送到您的api这样 twillio 就可以在 twillio 的消息正文中发送代码。

2 - 从您的 api 创建随机验证码并重复 选项 1

的结束步骤

Client Side (let's use option 1, and think of the following as psuedo-code)

  • 验证输入的 phone 号码,如果无效,请告诉用户进行修复。
  • 创建随机码并将其保存到UserDefault。 (我们保存它是因为如果在使用您的应用程序时发生某些事情,您当然还要添加一个逻辑 请求另一个代码
  • 创建包含代码和 phone 编号的请求正文字典,即 [phone: 182822939, code: 83920]
  • 使用 URLSessionAlamofire 你对你的 nodejs api 做一个 POST 请求您从上一步创建的。

NodeJS API

  • 在这里,你从你的请求对象中得到 phone 数字,如 const phoneNumber = req.body.phonenumber,代码如 const code = req.body.code.
  • 您使用 phone 创建 twillio 发送对象,然后在消息正文中添加代码并发送它。
  • 如果消息发送成功,return 200 Ok 响应,否则 return 错误 404代码

Client Side Again

截至目前,用户已获取代码,现在需要检查输入的代码与 UserDefault 中的代码是否相同。如果有效,则继续您的登录过程,否则您会通过警报通知用户(因此,添加 请求另一个代码 也很重要,以防用户永远不会收到代码。)

瞧,这不是解决您的问题的唯一方法。