Olá, estou com um problema na hora de passar o token para ser decodificado pelo jwt_decoder, dá o seguinte erro:
Error: src/app/core/user/user.service.ts:25:29 - error TS2345: Argument of type 'string | null' is not assignable to parameter of type 'string'.
Type 'null' is not assignable to type 'string'.
Meu user.service.ts
import { Injectable } from '@angular/core';
import { Subject } from 'rxjs';
import { TokenService } from './../token/token.service';
import jwt_decode from 'jwt-decode';
import { User } from './user';
/** Serviço para armazenar o token com auxílio do TokenService e retornar o usuário logado*/
@Injectable({ providedIn: 'root' })
export class UserService {
private userSubject = new Subject<User>();
constructor(private tokenService: TokenService) { }
setToken(token: string) {
this.tokenService.setToken(token);
this.decodeAndNotify();
}
getToken() { }
private decodeAndNotify() {
const token = this.tokenService.getToken();
const user = jwt_decode(token) as User;
}
}
Isso acontece porque o token está vindo do tipo string | null que é retornado lá no método getItem() do localStorage em token.service.ts
getToken() {
return window.localStorage.getItem(KEY);
}
Já pesquisei e tentei várias coisas aqui, mas nada resolve. Estou travado nisso, sem poder seguir o curso. Alguém pode me ajudar?