У меня была ссылка, сгенерированная из серверной части на электронную почту:
Пример: localhost / register / profile? Id = 39 & token = IGCHSXtSzlHzGFsZPt
Когда пользователь нажимаетпо ссылке пользователь будет перенаправлен на страницу профиля для редактирования.Перед перенаправлением на страницу мне нужно проверить токен, либо он существует в базе данных.
У меня был API для проверки токена:
Пример: localhost / registration / 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;
}));
}
Ответ, если токен существует (вернуть ноль, если токена не существует):
{
"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
}
Проблема в том, если я поставлюссылка со случайным токеном, пользователь все еще может просматривать страницу профиляКак я могу предотвратить это?