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

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software