Store auth info in local storage
This commit is contained in:
parent
bd07e1a306
commit
dd375b6948
3 changed files with 19 additions and 8 deletions
|
@ -21,7 +21,7 @@ export class AppComponent implements OnInit {
|
|||
);
|
||||
|
||||
menu: MenuItem[] = [
|
||||
{path: 'subjects', title: 'Tárgyak', requiredRole: 'admin'}
|
||||
{path: 'users', title: 'Felhasználók', requiredRole: 'admin'}
|
||||
];
|
||||
|
||||
constructor(private breakpointObserver: BreakpointObserver, public loginService: LoginService, private api: ApiService,
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
import {Injectable} from '@angular/core';
|
||||
import {HttpClient} from '@angular/common/http';
|
||||
import {environment} from '../../environments/environment';
|
||||
import {User} from '../model/user.model';
|
||||
import { Injectable } from '@angular/core';
|
||||
import { HttpClient } from '@angular/common/http';
|
||||
import { environment } from '../../environments/environment';
|
||||
import { User } from '../model/user.model';
|
||||
|
||||
@Injectable({
|
||||
providedIn: 'root'
|
||||
|
@ -12,6 +12,8 @@ export class LoginService {
|
|||
user: User;
|
||||
|
||||
constructor(private http: HttpClient) {
|
||||
this.token = window.localStorage.getItem('token');
|
||||
this.user = JSON.parse(window.localStorage.getItem('user'));
|
||||
}
|
||||
|
||||
async createUser(email: string, password: string, name: string): Promise<void> {
|
||||
|
@ -20,9 +22,14 @@ export class LoginService {
|
|||
|
||||
async login(email: string, password: string): Promise<boolean> {
|
||||
try {
|
||||
const resp: any = await this.http.post(environment.backendUrl + '/users/login', {email, password}).toPromise();
|
||||
const resp = await this.http.post<{ token: string, user: User }>(environment.backendUrl + '/users/login', {
|
||||
email,
|
||||
password
|
||||
}).toPromise();
|
||||
this.token = resp.token;
|
||||
this.user = resp.user;
|
||||
window.localStorage.setItem('token', resp.token);
|
||||
window.localStorage.setItem('user', JSON.stringify(resp.user));
|
||||
return true;
|
||||
} catch (e) {
|
||||
if (e.status === 401 || e.status === 422) {
|
||||
|
|
|
@ -1,13 +1,17 @@
|
|||
import { NgModule } from '@angular/core';
|
||||
import { CommonModule } from '@angular/common';
|
||||
import { UserListComponent } from './user-list/user-list.component';
|
||||
import { RouterModule, Routes } from '@angular/router';
|
||||
|
||||
|
||||
const routes: Routes = [
|
||||
{path: '', component: UserListComponent}
|
||||
];
|
||||
|
||||
@NgModule({
|
||||
declarations: [UserListComponent],
|
||||
imports: [
|
||||
CommonModule
|
||||
CommonModule,
|
||||
RouterModule.forChild(routes)
|
||||
]
|
||||
})
|
||||
export class UsersModule { }
|
||||
|
|
Loading…
Reference in a new issue