Я использую Angular8 и пытаюсь создать форму для входа.
У меня есть auth.service, где я использую почтовый запрос для отправки информации для входа в систему
auth.service.ts
login(form: FormData) {
return this.httpClient.post<UserLogin>(`${this.AUTH_SERVER}/api/function.php`, form);
}
И у меня есть login.component, который получит данные формы и отправит их в службу
login.component.ts
login() {
const formData = new FormData();
formData.append('action', this.loginForm.value.action);
formData.append('email', this.loginForm.value.email);
formData.append('password', this.loginForm.value.password);
this.authService.login(formData).subscribe(
(res) => {
this.authService.isLoggedIn = true;
localStorage.setItem('ACCESS_TOKEN', "isLoggedIn");
this.router.navigateByUrl('/admin');
},
(err) => console.log('err', err)
)
}
У меня такой вопрос?жизнеспособно иметь локальное хранилище в компоненте, в подписке, где оно получает успех, или оно должно быть в сервисе?
Если это более безопасно в сервисе, как я могу установить токен только при успешном входе в систему?
Спасибо