Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

Autenticação no Angular

Boa tarde Pessoal! Estou criando um projeto em java e Angular, sendo que esta aparecendo um erro, não estou conseguindo pela o token, ele aparece no console com o valor null. podem me ajudar ?

import { API_CONFIG } from './../configuracao/api.config';
import { CredenciaisDTO } from './../modelos/credenciais.tdo';
import { HttpClient } from '@angular/common/http';
import { Injectable } from '@angular/core';

@Injectable()
export class AuthService {

  constructor(public http: HttpClient) { }

  autenticacao(creds :CredenciaisDTO){
    return this.http.post(
      `${API_CONFIG.baseUrl}/login`,
      creds,
      {
        observe : 'response',
        responseType : 'text'
      });
  }
}
import { Injectable ,EventEmitter } from '@angular/core';
import { CredenciaisDTO } from '../modelos/credenciais.tdo';
import { Router } from '@angular/router';
import { AuthService } from './auth.service';

@Injectable()
export class SharedService {

 private usuarioAutenticado : boolean = false; 

  mostrarMenuEmitter = new EventEmitter<boolean>();

  constructor(private router : Router,
               public auth : AuthService) {}


 fazerLogin(creds : CredenciaisDTO){
   this.auth.autenticacao(creds)
   .subscribe(response =>{
     console.log(response.headers.get('Authorization '));
     this.usuarioAutenticado = true;
      this.mostrarMenuEmitter.emit(true);
      this.router.navigate(['/']);
   },
  error =>{
    this.usuarioAutenticado = false;
    this.mostrarMenuEmitter.emit(false);
  });
 }
}
import { Component, OnInit } from '@angular/core';
import { SharedService } from '../../../services/shared.service';
import { CredenciaisDTO } from '../../../modelos/credenciais.tdo';

@Component({
  selector: 'app-login',
  templateUrl: './login.component.html',
  styleUrls: ['./login.component.css']
})
export class LoginComponent implements OnInit {

  creds : CredenciaisDTO = {
    email: "",
    senha:""
  }
  constructor(private shared : SharedService ) { 

  }

  ngOnInit() {
  }

  login(){
    this.shared.fazerLogin(this.creds);
  }

}
1 resposta
solução!

Oii Maycon, conseguiu resolver??

Dúvida, porque vc está colocando o responseType : 'text' em seu método autenticacao na classe AuthService?

Pois se você retornar um texto, este seu código response.headers.get('Authorization ') na fazerLogin em SharedService vai retonar null mesmo...

fico no aguardo, abraços