When I try to login to my application that uses an API in Laravel the following error appears:

0

LoginMethod

loginUsuario(){this.usuariosProvider.loginUsuario(this.usuario).subscribe(res=>{if(res){if(res.token){console.log(res);this.usuariosProvider.setStorage("usuario",res);
          this.ativaMenuLogin();
          this.cancelar();
        }else{
          console.log(res); // validação
        }
      }else{
        // Login com erro!
      }


    }, erro => {
      console.log("Erro: " + erro.message);
    });
  }

My provider

import { HttpClient } from '@angular/common/http';
import { Injectable } from '@angular/core';
import { IUsuario } from '../../interfaces/IUsuario';
import { Storage } from '@ionic/storage';
import { identifierModuleUrl } from '@angular/compiler';

@Injectable()
export class UsuariosProvider {

  //url:string = 'http://localhost:3000/';
  url:string = 'http://localhost:8000/api/';

  headers:any;

  constructor(public http: HttpClient, private storage: Storage) {

    //this.headers = {"headers": {"authorization": "Bearer "+this.token}};
  }

  setStorage(chave, valor){
    this.storage.set(chave, valor);
  }

  getStorage(chave){
    return this.storage.get(chave);
  }

  showUsuario(data:IUsuario){
    return this.http.get<IUsuario>(this.url +'usuarios/'+data.id);
  }

  loginUsuario(data:IUsuario){
    return this.http.post<IUsuario>(this.url+'login', data);
  }

  addUsuario(data:IUsuario){
    return this.http.post<IUsuario>(this.url +'usuarios', data);
  }

  editUsuario(data:IUsuario){
    return this.http.put<IUsuario>(this.url +'usuarios/'+data.id, data);
  }  

}

My API

<?php

use Illuminate\Http\Request;
use App\User;
use Illuminate\Support\Facades\Validator;
use Illuminate\Support\Facades\Auth;


Route::middleware('auth:api')->get('/user', function (Request $request) {
    return $request->user();
});

Route::post('/cadastro', function (Request $request) {
    $data = $request->all();

    $validacao = Validator::make($data, [
        'name' => ['required', 'string', 'max:255'],
        'email' => ['required', 'string', 'email', 'max:255', 'unique:users'],
        'password' => ['required', 'string', 'min:6', 'confirmed'],
    ]);

    if ($validacao->fails()) {
      return $validacao->errors();
    }

    $user = User::create([
      'name' => $data['name'],
      'email' => $data['email'],
      'password' => bcrypt($data['password']),
    ]);

    $user->token = $user->createToken($user->email)->accessToken;

    return $user;
});

Route::post('/login', function (Request $request){

    $validacao = Validator::make($request->all(), [
        'email' => 'required', 'string', 'email', 'max:255',
        'password' => 'required', 'string',
    ]);

    if ($validacao->fails()) {
      return $validacao->errors();
    }

    if (Auth::attempt(['email' => $request->email, 'password' => $request->password])) {
      $user = Auth()->user();
      $user->token = $user->createToken($user->email)->accessToken;
      return $user;
    } else {
      return false;
    }
});

Route::middleware('auth:api')->get('/usuarios', function (Request $request) {
    return user::all();
});
    
asked by anonymous 29.11.2018 / 04:07

0 answers