Вы должны обновлять bean-компоненты, не пытаясь обновить все приложение, и все конфигурации> beans, которые он загружает.
Из документов Spring,
https: //cloud.spring.io/spring-cloud-static/docs/1.0.x/spring-cloud.html#_refresh_scope
@RefreshScope работает (технически) на @ Класс конфигурации, но это может привести к неожиданному поведению: например это не означает, что все @Beans, определенные в этом классе, сами являются @RefreshScope. В частности, все, что зависит от этих bean-компонентов, не может полагаться на то, что они обновляются при начале обновления, если только он не находится в @RefreshScope (в котором он будет перестроен при обновлении, а его зависимости будут повторно введены, и в этот момент они будут повторно инициализирован из обновленной @Configuration).
Что вам нужно сделать, это обновить компонент, куда вводится значение.
Пожалуйста, удалите инъекцию JwtHelper в конструктор и создайте объект для JwtHelper внутри вашего canActivate следующим образом:
export class AuthGuard implements CanActivate {
constructor(private router: Router) {
}
canActivate() {
let jwtHelper: JwtHelper = new JwtHelper();
const token = localStorage.getItem('jwt');
if (token && !this.jwtHelper.isTokenExpired(token)) {
return true;
}
this.router.navigate(['login']);
return false;
}
}