后端应该处理电子邮件验证请求吗?

should backend handle email verification request?

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

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

选项2: 如果我向前端发送link,我的前端需要解析url的验证码,然后向后端发送一个post请求来进行验证工作。

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

我的前端和后端是分开的。后端在 Python 中实现,而前端在 angularjs 中实现。他们通过 Restful API.

进行交流

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

常用短语是将所有 "business logic" 保留在后端。这确保您的前端只专注于呈现数据。

您的 AngularJS 应用程序应处理请求,调用 Python 后端(因此它可以执行处理电子邮件验证的逻辑以查看其是否有效),然后响应应该返回到 AngularJS 应用程序,该应用程序应该格式化一个漂亮的响应给用户以指示电子邮件验证是否有效。