Ejemplo n.º 1
0
 canActivate(): Observable<boolean> {
   return this.auth.authState.pipe(
     take(1),
     map((authState) => !!authState),
     tap(authenticated => {
       if (!authenticated) {
         this.router.navigate(['/login']);
       }
     }));;
 }
Ejemplo n.º 2
0
    private request(method: 'post'|'get', type: 'login'|'register', payload?): Observable<any> {
        let base;
        const url = `${this.apiUrl}/auth/${type}`;

        if (method === 'post') {
            base = this.http.post(url, payload);
        } else {
            base = this.http.get(url, { headers: { Authorization: `Bearer ${this.getToken()}` }});
        }

        // If response contains a token we save it to local storage
        return base.pipe(
            map((res: TokenResponse) => {
                if (res.token) {
                    this.saveToken(res.token);
                }
                return res;
            })
        );
    }