【问题标题】:should backend handle email verification request?后端应该处理电子邮件验证请求吗?
【发布时间】:2018-06-17 02:19:15
【问题描述】:

我正在创建一个网络应用程序,需要在用户在系统中注册后向他们发送电子邮件验证。当用户收到一封验证电子邮件时,他们需要单击该电子邮件中的链接来验证他们的电子邮件地址。我的问题是链接指向我的后端服务器还是指向我的前端。

选项1: 如果我链接到我的后端,我需要实现一个 GET RESTFul 服务来接收这个请求,因为浏览器无法发送一个 POST 请求。验证后,后端将响应一个重定向到浏览器以重定向到前端 url。就 RESTFul 设计而言,这可能不是最佳实践,因为它会更改我的数据库。

选项2: 如果我链接到前端,我的前端需要从 url 解析验证码并向后端发送一个 post 请求来完成验证工作。

我不确定哪个更好。有人给我一些建议吗?

我的前端和后端是分开的。后端是用 Python 实现的,而前端是 angularjs。它们通过 Restful API 进行通信。

【问题讨论】:

  • 你的 URL 调度器在你的 Python 应用中吗?
  • 我不确定我是否理解您的问题。 dispatcher 是什么意思?
  • 或 URL 路由器,或 URL 解析器
  • 它是一个restful服务,所以我认为它是URL路由器。
  • 同时,如果你转到yoursite.com/some/view,前端 Angularjs 将服务这个页面并显示你的网站。当你在前端做一些动作时,比如loginsign up等,会向后端发送一个异步http请求来处理请求。

标签: restful-authentication restful-architecture restful-url


【解决方案1】:

您的后端应处理电子邮件验证。后端应该处理所有这些东西。假设您的 URL 调度程序在您的前端,它将获取请求,然后将其传递给后端。

通常的说法是将所有“业务逻辑”保留在后端。这可确保您的前端只专注于呈现数据。

您的 AngularJS 应用程序应该处理请求,调用 Python 后端(因此它可以执行处理电子邮件验证以查看其是否有效的逻辑),然后响应应该返回给 AngularJS应用程序应该对用户做出漂亮的响应,以表明电子邮件验证是否有效。

【讨论】:

  • 我没有使用 MVC。前端和后端是分开的。
  • 我在帖子末尾添加了说明。
  • 看起来我的 angularJS 作为代理工作。它从用户那里接收 url,然后从 url 的参数中解析验证码,然后向后端发送一个 post 请求。为什么不直接链接到后端然后将用户重定向到前端?你的方法有什么优势吗?
  • @ZhaoYi 我认为一致性和可扩展性。您的用户应该能够通过您的前端执行所有操作,包括访问链接以激活他们的电子邮件。另外,将来如果您希望插页式广告设置他们的初始密码,那么这样做会更容易,因为会设置前端的脚手架。
猜你喜欢
  • 1970-01-01
  • 2017-11-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-11-13
  • 1970-01-01
  • 2021-10-18
  • 2019-03-13
相关资源
最近更新 更多