1
resposta

Botão login não loga após implementação dessa aula

Autenticação.service.ts

import { Injectable } from '@angular/core';
import { HttpClient, HttpResponse } from '@angular/common/http';
import { Observable, tap } from 'rxjs';
import { UsuarioService } from './usuario/usuario.service';

@Injectable({ //indica que essa classe pode ser injetada em outro componente ou serviço
  providedIn: 'root' // providedIn é uma propriedade
})
export class AutenticacaoService {

  constructor(private httpCliente: HttpClient,
              private usuarioService: UsuarioService) { }

  autenticar(usuario: string, senha: string): Observable<HttpResponse<any>>{
    return this.httpCliente
    .post(
      'http://localhost:3000/user/login',
      {
      userName: usuario,
      password: senha,
    },
    {
      observe: 'response' }
    )
    .pipe(
      tap((res) => {
        const authToken = res.headers.get('x-access-token') ?? '';
        this.usuarioService.salvaToken(authToken);
      })
    );
  }
}
1 resposta

Olá Débora, tudo bom?

O AutenticacaoService está certinho, a única coisa que testei e fez com que meu código desse erro foi a importação do método tap do caminho rxjs, e segundo a documentação do RxJS, o caminho é 'rxjs/operadores'.

import { Observable } from 'rxjs';
import { tap } from 'rxjs/operators';
import { UsuarioService } from './usuario/usuario.service';

Testa no seu código e vê se resolve. Caso não, compartilha o código do LoginComponent, pois o erro esteja lá.

Espero ter ajudado e bons estudos, Débora.