我有一个从后端生成到电子邮件的链接:
例如:localhost / register / profile?id = 39&token = IGCHSXtSzlHzGFsZPt
当用户单击链接时,用户将重定向到个人资料页面进行编辑。重定向到页面之前,我需要验证令牌是否存在。
我有API来验证令牌:
例如: 本地主机/注册/ verifyConfirmationToken?id = 39&token = IGCHSXtSzlHzGFsZPt
verifyToken(id:string, token: string) {
const params = new HttpParams().set('a', id).set('b', token);
this.base_url = environment.MYAPI_REST_API_URL+"/registration/application/verifyConfirmationToken?a="+id+"&b="+token;
return this.http.get(this.base_url)
.pipe(map(user => {
//return null if token not exist
return user;
}));
}
如果令牌存在,则响应(如果令牌不存在,则返回null):
{
"statusId": 4,
"createdBy": 0,
"creationTime": "2018-09-27 22:08:32",
"updatedBy": 0,
"updateTime": "2018-09-28 00:46:30",
"id": 39,
"email": "test@gmail.com",
"address": "noods",
"city": "bahyd",
"postcode": "70324324",
"active": true
}
问题是,如果我使用随机令牌放置链接,用户仍然可以查看个人资料页面。我该如何预防?