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();
});