Solucionado (ver solução)
Solucionado
(ver solução)
4
respostas

Erro login

Após essa aula tive o seguinte erro ao fazer login:

TypeError: You provided 'undefined' where a stream was expected. You can provide an Observable, Promise, Array, or Iterable. signin.component.ts :39

Já pesquisei e comparei com o projeto pronto disponibilizado pelo instrutor mas ainda não consigo identificar o que esta errado.

Meu signin.component.ts :

import { Component, OnInit, ElementRef, ViewChild } from '@angular/core';
import { FormGroup, FormBuilder, Validators } from '@angular/forms';
import { AuthService } from '../../core/auth/auth.service';
import { Router } from '@angular/router';
import { PlatformDetectorService } from '../../core/platform-detector/platform-detector.service';

@Component({
    templateUrl: './signin.component.html'
})
export class SignInComponent implements OnInit {

    loginForm: FormGroup;
    @ViewChild('userNameInput') userNameInput: ElementRef<HTMLInputElement>;

    constructor(
        private formBuilder: FormBuilder,
        private authService: AuthService,
        private router: Router,
        private platformDetectorService: PlatformDetectorService) { }

    ngOnInit(): void {
        this.loginForm = this.formBuilder.group({
            userName: ['', Validators.required],
            password: ['', Validators.required]
        });
        this.platformDetectorService.isPlatformBrowser() && 
        this.userNameInput.nativeElement.focus();        
    } 

    login() {
        const userName = this.loginForm.get('userName').value;
        const password = this.loginForm.get('password').value;

        this.authService
            .authenticate(userName, password)
            .subscribe(
                () => this.router.navigate(['user', userName]),
                err => {
                    console.log(err);
                    this.loginForm.reset();
                    this.platformDetectorService.isPlatformBrowser() && 
                        this.userNameInput.nativeElement.focus();
                    alert('Invalid user name or password');
                }
            );
    }
}
4 respostas

Fala ai Ana, tudo bem? Olhando os códigos, eles parecem estar corretos, mas, provavelmente estou deixando passar algum pequeno detalhe.

Sendo assim, peço por favor que compartilhe o projeto comigo, assim eu consigo simular o problema por aqui e analisá-lo com mais calma.

Pode compartilhar através do Github ou Google Drive (zipado).

Fico no aguardo.

Tudo bem você? Também acredito (e espero) que seja algum detalhe. Segue meu GitHub do projeto https://github.com/anaflaviasfranco/alurapic

solução!

Olá Matheus, descobri meu erro! Tinha um espaço indevido na linha 10 do meu token.service.ts que não estava passando o token para a API.

Muito obrigada pelo apoio.

Boa Ana, fico feliz que tenha resolvido o seu problema.

Desculpe não responder à tempo.

Sempre que precisar não deixe de criar suas dúvidas.

Abraços e bons estudos.

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