Angular 6: Как защитить маршрут для ссылки активации аккаунта - PullRequest
0 голосов
/ 01 октября 2018

У меня была ссылка, сгенерированная из серверной части на электронную почту:

Пример: 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
}

Проблема в том, если я поставлюссылка со случайным токеном, пользователь все еще может просматривать страницу профиляКак я могу предотвратить это?

1 Ответ

0 голосов
/ 01 октября 2018

Вы можете взглянуть на охрану CanActivate: https://angular.io/api/router/CanActivate

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...