Laravel Login via Rest API | Fórum | School of Net

Deseja poder participar de nosso fórum e tirar todas as suas dúvidas?
Clique aqui e assine nosso plano de acesso ilimitado. Saiba mais.

por Julio

2 meses, 3 semanas atrás Julio

Laravel Login via Rest API

Galera estou usando o Laravel 8 e não estou conseguindo criar o Login, estou com uma sra dificuldade no Auth::attempt que não reconhece o meu login eu consigo criar pelo código abaixo mas não consigo efetuar esse login (detalhe, eu criei uma tabela pra usuarios com o nome BR mesmo, segue meu up da tabela pra vocês entenderem: ``` public function up() { Schema::create('usuarios', function (Blueprint $table) { $table->id(); $table->string('nome'); $table->string('tipo')->default('usuario'); $table->string('email')->unique(); $table->timestamp('email_verificado')->nullable(); $table->string('senha'); $table->string('telefone'); $table->timestamp('telefone_verificado')->nullable(); $table->string('imagem')->nullable()->default('usuario_foto_padrao.png'); $table->integer('cpf')->nullable(); $table->integer('rg')->nullable(); $table->rememberToken(); $table->timestamps(); }); } ``` Agora a minha função de login e criação é essa: ``` public function registrar(Request $request) { $this->validate($request, [ 'nome' => 'required|min:4', 'email' => 'required|email', 'senha' => 'required|min:8', 'telefone' => 'required|min:8' ]); $user = Usuario::create([ 'nome' => $request->nome, 'email' => $request->email, 'senha' => Hash::make($request->senha), 'telefone' => $request->telefone ]); $token = $user->createToken('LaravelAuthApp')->accessToken; return response()->json(['token' => $token], 200); } /** * Login Req */ public function login(Request $request) { $data = [ 'email' => $request->email, 'senha' => $request->senha ]; if (!Auth::attempt($data)) { return response()->json(['error' => 'Unauthorised'], 401); } else { $token = auth()->user()->createToken('LaravelAuthApp')->accessToken; return response()->json(['token' => $token], 200); } } ``` E essa abaixo é minha classe(minha Model) de usuário ``` <?php namespace App\Models; use Illuminate\Contracts\Auth\MustVerifyEmail; use Illuminate\Database\Eloquent\Factories\HasFactory; use Illuminate\Foundation\Auth\User as Authenticatable; use Illuminate\Notifications\Notifiable; use Laravel\Passport\HasApiTokens; class Usuario extends Authenticatable { use HasFactory, Notifiable, HasApiTokens; const TIPO = ['adm','usuario']; /** * The attributes that are mass assignable. * * @var array */ protected $fillable = [ 'nome', 'tipo', 'email', 'senha', 'telefone', 'imagem', 'cpf', 'rg', ]; /** * The attributes that should be hidden for arrays. * * @var array */ protected $hidden = [ 'senha', 'remember_token', ]; /** * The attributes that should be cast to native types. * * @var array */ protected $casts = [ 'email_verificado' => 'datetime', ]; public function membro(){ return $this->hasMany(Membro::class); } public function ingresso(){ return $this->hasMany(Ingresso::class); } } ``` Ah, verdade minha api em aut.php já está com o driver do passport, e o model da minha provider está apontando para o model de Usuario acima e não de Users. Alguém consegue me ajudar nessa missão?

6 Respostas