我使用parse-server,以前是parse.com作为我应用的后端。非常简单,我从不需要担心如何实际处理电子邮件验证。
但我注意到发送到用户电子邮件地址的验证链接会打开一个普通的html网页,该网页没有JavaScript或任何与后端通信的内容。
<!DOCTYPE html>
<html>
<!-- This page is displayed whenever someone has successfully reset their password.
Pro and Enterprise accounts may edit this page and tell Parse to use that custom
version in their Parse app. See the App Settigns page for more information.
This page will be called with the query param 'username'
-->
<head>
<title>Email Verification</title>
<style type='text/css'>
h1 {
color: #0067AB;
display: block;
font: inherit;
font-family: 'Open Sans', 'Helvetica Neue', Helvetica;
font-size: 30px;
font-weight: 600;
height: 30px;
line-height: 30px;
margin: 45px 0px 0px 45px;
padding: 0px 8px 0px 8px;
}
</style>
<body>
<h1>Successfully verified your email!</h1>
</body>
</html>
所以我想知道服务器是如何跟踪链接确实被点击和验证的。如果不将一些数据发送回服务器,他们怎么能实现这一目标呢?
http://blog.parse.com/announcements/introducing-app-email-settings/
Parse.com的博客没有解释其背后的机制。 请帮助我的好奇心,非常感谢你。
答案 0 :(得分:0)
验证在服务器上进行。因此,您在页面中看不到任何提供给客户端的JavaScript。
您可以使用服务器上安装的语言验证电子邮件; PHP,JavaScript,Python等。
因此,如果用户将您的电子邮件地址提交到您的应用程序,您将向他发送带有验证链接的邮件。 该链接具有再次标识用户的参数。在这种情况下,您可以使用电子邮件地址的散列值 例如 www.mysite.com/email-verification-script/?user= {一个散列值的最邮件}。 然后用户点击链接。验证脚本会评估参数“user”是否有效。 (此用户是否在系统中并且可以验证用户?) 如果是这样,您的脚本会将用户设置为已验证并重定向到“成功”消息页面。 如果找不到用户,请显示错误消息。