【发布时间】:2020-01-26 00:44:45
【问题描述】:
我正在使用 Angular8 并尝试制作登录表单。
我有一个 auth.service,我使用 post 请求发送登录信息
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)
)
}
我的问题是,在组件中、订阅中、获得成功的地方使用本地存储是否可行,还是应该在服务中使用?
如果它在服务中更安全,我怎样才能让它只在登录成功时设置令牌?
谢谢
【问题讨论】:
标签: angular typescript angular-services angular-components angular8