會員註冊認證信
在註冊一些網站的會員時,有些網站會寄認證信要求激活帳號。
此時會員必須到郵箱裡面收取認證信,並且點選連結,才能正式啟用會員。
我很好奇會員認證信是怎麼實作的,以下是我的想法:
首先會員的model 可能像這樣
{
username:String,
email:String,
active:Boolean,
sha2:String,
...
...
}
Sha2 的model 可能長這樣
{
sha2:String,
user:{
id:{
type: mongoose.Schema.Types.ObjectId,
ref: "User",
},
username: String
}
}
接著我們可以執行以下步驟
- 會員填入註冊表單。
- 用username(或其他unique string) 當作 sha2 的input,然後將此會員的sha2值填入。
- 在
sha2 collection
中增加會員的id。 - 寄送
https://domain/emailverify/<sha2>
link給會員。 - 接著,在
app.get("/emailverify/:sha2")
的routing中,找到sha2值並且比對會員的sha2值將會員激活,激活之後sha2 collection
基本上應該可以刪除了。
請問這個想法是正確的嗎?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
基本思路没有问题,但是不知道你发现没有你的
sha2 collection
是多余的。在会员model里面根据sha2就可以找到对应的会员信息了。